-extern void bb_show_usage (void)
+void bb_show_usage (void)
{
const char *format_string;
const char *usage_string = usage_messages;
#define AR_OPT_CREATE 0x20
#define AR_OPT_INSERT 0x40
-extern int ar_main(int argc, char **argv)
+int ar_main(int argc, char **argv)
{
archive_handle_t *archive_handle;
unsigned long opt;
#define CPIO_OPT_CREATE_LEADING_DIR 0x20
#define CPIO_OPT_PRESERVE_MTIME 0x40
-extern int cpio_main(int argc, char **argv)
+int cpio_main(int argc, char **argv)
{
archive_handle_t *archive_handle;
char *cpio_filename = NULL;
#define DPKG_DEB_OPT_EXTRACT 8
#define DPKG_DEB_OPT_EXTRACT_VERBOSE 16
-extern int dpkg_deb_main(int argc, char **argv)
+int dpkg_deb_main(int argc, char **argv)
{
archive_handle_t *ar_archive;
archive_handle_t *tar_archive;
#define GUNZIP_OPT_TEST 4
#define GUNZIP_OPT_DECOMPRESS 8
-extern int gunzip_main(int argc, char **argv)
+int gunzip_main(int argc, char **argv)
{
char status = EXIT_SUCCESS;
unsigned long opt;
#include "unarchive.h"
#include "libbb.h"
-extern void archive_xread_all(const archive_handle_t *archive_handle, void *buf, const size_t count)
+void archive_xread_all(const archive_handle_t *archive_handle, void *buf, const size_t count)
{
ssize_t size;
#include "unarchive.h"
#include "libbb.h"
-extern ssize_t archive_xread_all_eof(archive_handle_t *archive_handle, unsigned char *buf, size_t count)
+ssize_t archive_xread_all_eof(archive_handle_t *archive_handle, unsigned char *buf, size_t count)
{
ssize_t size;
#include "libbb.h"
#include "unarchive.h" /* for external decl of check_header_gzip */
-extern void check_header_gzip(int src_fd)
+void check_header_gzip(int src_fd)
{
union {
unsigned char raw[8];
#include "libbb.h"
#include "unarchive.h"
-extern void data_align(archive_handle_t *archive_handle, const unsigned short boundary)
+void data_align(archive_handle_t *archive_handle, const unsigned short boundary)
{
const unsigned short skip_amount = (boundary - (archive_handle->offset % boundary)) % boundary;
#include "libbb.h"
#include "unarchive.h"
-extern void data_extract_all(archive_handle_t *archive_handle)
+void data_extract_all(archive_handle_t *archive_handle)
{
file_header_t *file_header = archive_handle->file_header;
int dst_fd;
#include "libbb.h"
#include "unarchive.h"
-extern void data_extract_to_buffer(archive_handle_t *archive_handle)
+void data_extract_to_buffer(archive_handle_t *archive_handle)
{
const unsigned int size = archive_handle->file_header->size;
#include "unarchive.h"
#include <unistd.h>
-extern void data_extract_to_stdout(archive_handle_t *archive_handle)
+void data_extract_to_stdout(archive_handle_t *archive_handle)
{
bb_copyfd_size(archive_handle->src_fd, STDOUT_FILENO, archive_handle->file_header->size);
}
#include "unarchive.h"
#include "libbb.h"
-extern void data_skip(archive_handle_t *archive_handle)
+void data_skip(archive_handle_t *archive_handle)
{
archive_handle->seek(archive_handle, archive_handle->file_header->size);
}
/* Example usage: decompress src_fd to dst_fd. (Stops at end of bzip data,
not end of file.) */
-extern int uncompressStream(int src_fd, int dst_fd)
+int uncompressStream(int src_fd, int dst_fd)
{
char *outbuf;
bunzip_data *bd;
* with those of the compress() routine. See the definitions above.
*/
-extern int uncompress(int fd_in, int fd_out)
+int uncompress(int fd_in, int fd_out)
{
unsigned char *stackp;
long int code;
}
/* Initialise bytebuffer, be careful not to overfill the buffer */
-extern void inflate_init(unsigned int bufsize)
+void inflate_init(unsigned int bufsize)
{
/* Set the bytebuffer size, default is same as gunzip_wsize */
bytebuffer_max = bufsize + 8;
bytebuffer_size = 0;
}
-extern void inflate_cleanup(void)
+void inflate_cleanup(void)
{
free(bytebuffer);
}
-extern int inflate_unzip(int in, int out)
+int inflate_unzip(int in, int out)
{
ssize_t nwrote;
typedef void (*sig_type) (int);
return 0;
}
-extern int inflate_gunzip(int in, int out)
+int inflate_gunzip(int in, int out)
{
unsigned int stored_crc = 0;
unsigned int count;
#include "unarchive.h"
/* Accept any non-null name, its not really a filter at all */
-extern char filter_accept_all(archive_handle_t *archive_handle)
+char filter_accept_all(archive_handle_t *archive_handle)
{
if (archive_handle->file_header->name) {
return(EXIT_SUCCESS);
/*
* Accept names that are in the accept list, ignoring reject list.
*/
-extern char filter_accept_list(archive_handle_t *archive_handle)
+char filter_accept_list(archive_handle_t *archive_handle)
{
if (find_list_entry(archive_handle->accept, archive_handle->file_header->name)) {
return(EXIT_SUCCESS);
* e.g. if its a .tar.gz modify archive_handle->sub_archive to process a .tar.gz
* or if its a .tar.bz2 make archive_handle->sub_archive handle that
*/
-extern char filter_accept_list_reassign(archive_handle_t *archive_handle)
+char filter_accept_list_reassign(archive_handle_t *archive_handle)
{
/* Check the file entry is in the accept list */
if (find_list_entry(archive_handle->accept, archive_handle->file_header->name)) {
/*
* Accept names that are in the accept list and not in the reject list
*/
-extern char filter_accept_reject_list(archive_handle_t *archive_handle)
+char filter_accept_reject_list(archive_handle_t *archive_handle)
{
const char *key = archive_handle->file_header->name;
const llist_t *accept_entry = find_list_entry(archive_handle->accept, key);
#include <stdlib.h>
#include "unarchive.h"
-extern const llist_t *find_list_entry(const llist_t *list, const char *filename)
+const llist_t *find_list_entry(const llist_t *list, const char *filename)
{
while (list) {
if (fnmatch(list->data, filename, 0) == 0) {
#include "unarchive.h"
#include "libbb.h"
-extern char get_header_ar(archive_handle_t *archive_handle)
+char get_header_ar(archive_handle_t *archive_handle)
{
file_header_t *typed = archive_handle->file_header;
union {
struct hardlinks_s *next;
} hardlinks_t;
-extern char get_header_cpio(archive_handle_t *archive_handle)
+char get_header_cpio(archive_handle_t *archive_handle)
{
static hardlinks_t *saved_hardlinks = NULL;
static unsigned short pending_hardlinks = 0;
static char *linkname = NULL;
#endif
-extern char get_header_tar(archive_handle_t *archive_handle)
+char get_header_tar(archive_handle_t *archive_handle)
{
file_header_t *file_header = archive_handle->file_header;
union {
#include "libbb.h"
#include "unarchive.h"
-extern char get_header_tar_bz2(archive_handle_t *archive_handle)
+char get_header_tar_bz2(archive_handle_t *archive_handle)
{
/* Cant lseek over pipe's */
archive_handle->seek = seek_by_char;
#include "libbb.h"
#include "unarchive.h"
-extern char get_header_tar_gz(archive_handle_t *archive_handle)
+char get_header_tar_gz(archive_handle_t *archive_handle)
{
unsigned char magic[2];
#include <stdio.h>
#include "unarchive.h"
-extern void header_list(const file_header_t *file_header)
+void header_list(const file_header_t *file_header)
{
puts(file_header->name);
}
#include <stdio.h>
#include "unarchive.h"
-extern void header_skip(const file_header_t *file_header ATTRIBUTE_UNUSED)
+void header_skip(const file_header_t *file_header ATTRIBUTE_UNUSED)
{
}
#include "libbb.h"
#include "unarchive.h"
-extern void header_verbose_list(const file_header_t *file_header)
+void header_verbose_list(const file_header_t *file_header)
{
struct tm *mtime = localtime(&(file_header->mtime));
#include "libbb.h"
/* transformer(), more than meets the eye */
-extern int open_transformer(int src_fd, int (*transformer)(int src_fd, int dst_fd))
+int open_transformer(int src_fd, int (*transformer)(int src_fd, int dst_fd))
{
int fd_pipe[2];
int pid;
*
* TODO: rename to seek_by_read
*/
-extern void seek_by_char(const archive_handle_t *archive_handle, const unsigned int jump_size)
+void seek_by_char(const archive_handle_t *archive_handle, const unsigned int jump_size)
{
if (jump_size) {
bb_copyfd_size(archive_handle->src_fd, -1, jump_size);
#include "libbb.h"
#include "unarchive.h"
-extern void seek_by_jump(const archive_handle_t *archive_handle, const unsigned int amount)
+void seek_by_jump(const archive_handle_t *archive_handle, const unsigned int amount)
{
if (lseek(archive_handle->src_fd, (off_t) amount, SEEK_CUR) == (off_t) -1) {
#ifdef CONFIG_FEATURE_UNARCHIVE_TAPE
#include "unarchive.h"
#include "busybox.h"
-extern void unpack_ar_archive(archive_handle_t *ar_archive)
+void unpack_ar_archive(archive_handle_t *ar_archive)
{
char magic[7];
}
/* No getopt required */
-extern int rpm2cpio_main(int argc, char **argv)
+int rpm2cpio_main(int argc, char **argv)
{
struct rpm_lead lead;
int rpm_fd;
#define GUNZIP_TO_STDOUT 1
#define GUNZIP_FORCE 2
-extern int uncompress_main(int argc, char **argv)
+int uncompress_main(int argc, char **argv)
{
int status = EXIT_SUCCESS;
unsigned long flags;
}
}
-extern int unzip_main(int argc, char **argv)
+int unzip_main(int argc, char **argv)
{
zip_header_t zip_header;
enum {v_silent, v_normal, v_list} verbosity = v_normal;
#include "busybox.h"
-extern int clear_main(int argc, char **argv)
+int clear_main(int argc, char **argv)
{
return printf("\033[H\033[J") != 6;
}
static void loadnewfont(int fd);
-extern int loadfont_main(int argc, char **argv)
+int loadfont_main(int argc, char **argv)
{
int fd;
#include <unistd.h>
#include "busybox.h"
-extern int reset_main(int argc, char **argv)
+int reset_main(int argc, char **argv)
{
if (isatty(1)) {
/* See 'man 4 console_codes' for details:
#include <string.h>
#include "busybox.h"
-extern int basename_main(int argc, char **argv)
+int basename_main(int argc, char **argv)
{
size_t m, n;
char *s;
#include <unistd.h>
#include "busybox.h"
-extern int cat_main(int argc, char **argv)
+int cat_main(int argc, char **argv)
{
FILE *f;
int retval = EXIT_SUCCESS;
#include "busybox.h"
#include "libcoreutils/coreutils.h"
-extern int cp_main(int argc, char **argv)
+int cp_main(int argc, char **argv)
{
struct stat source_stat;
struct stat dest_stat;
}
-extern int cut_main(int argc, char **argv)
+int cut_main(int argc, char **argv)
{
unsigned long opt;
char *sopt, *sdopt;
}
#endif
-extern int df_main(int argc, char **argv)
+int df_main(int argc, char **argv)
{
long blocks_used;
long blocks_percent_used;
#include <stdlib.h>
#include "busybox.h"
-extern int dirname_main(int argc, char **argv)
+int dirname_main(int argc, char **argv)
{
if (argc != 2) {
bb_show_usage();
#include <stdlib.h>
#include "busybox.h"
-extern int echo_main(int argc, char** argv)
+int echo_main(int argc, char** argv)
{
(void)bb_echo(argc, argv);
bb_fflush_stdout_and_exit(EXIT_SUCCESS);
{ 0, 0, 0, 0 }
};
-extern int env_main(int argc, char** argv)
+int env_main(int argc, char** argv)
{
static char *cleanenv[1] = { NULL };
#include <stdlib.h>
#include "busybox.h"
-extern int false_main(int ATTRIBUTE_UNUSED argc, char ATTRIBUTE_UNUSED **argv)
+int false_main(int ATTRIBUTE_UNUSED argc, char ATTRIBUTE_UNUSED **argv)
{
return EXIT_FAILURE;
}
return column;
}
-extern int fold_main(int argc, char **argv)
+int fold_main(int argc, char **argv)
{
char *w_opt;
int width = 80;
#include <unistd.h>
#include "busybox.h"
-extern int hostid_main(int argc, char ATTRIBUTE_UNUSED **argv)
+int hostid_main(int argc, char ATTRIBUTE_UNUSED **argv)
{
if (argc > 1) {
bb_show_usage();
return status;
}
-extern int id_main(int argc, char **argv)
+int id_main(int argc, char **argv)
{
struct passwd *p;
uid_t uid;
{ 0, 0, 0, 0 }
};
-extern int install_main(int argc, char **argv)
+int install_main(int argc, char **argv)
{
mode_t mode;
uid_t uid;
#include <stdio.h>
#include "busybox.h"
-extern int length_main(int argc, char **argv)
+int length_main(int argc, char **argv)
{
if ((argc != 2) || (**(++argv) == '-')) {
bb_show_usage();
#include "libbb.h"
#include "coreutils.h"
-extern int cp_mv_stat2(const char *fn, struct stat *fn_stat, stat_func sf)
+int cp_mv_stat2(const char *fn, struct stat *fn_stat, stat_func sf)
{
if (sf(fn, fn_stat) < 0) {
if (errno != ENOENT) {
return 1;
}
-extern int cp_mv_stat(const char *fn, struct stat *fn_stat)
+int cp_mv_stat(const char *fn, struct stat *fn_stat)
{
return cp_mv_stat2(fn, fn_stat, stat);
}
#include "libbb.h"
#include "coreutils.h"
-extern mode_t getopt_mk_fifo_nod(int argc, char **argv)
+mode_t getopt_mk_fifo_nod(int argc, char **argv)
{
mode_t mode = 0666;
char *smode = NULL;
#define LN_BACKUP 8
#define LN_SUFFIX 16
-extern int ln_main(int argc, char **argv)
+int ln_main(int argc, char **argv)
{
int status = EXIT_SUCCESS;
int flag;
#include <unistd.h>
#include "busybox.h"
-extern int logname_main(int argc, char ATTRIBUTE_UNUSED **argv)
+int logname_main(int argc, char ATTRIBUTE_UNUSED **argv)
{
const char *p;
/*----------------------------------------------------------------------*/
-extern int ls_main(int argc, char **argv)
+int ls_main(int argc, char **argv)
{
struct dnode **dnd;
struct dnode **dnf;
{ 0, 0, 0, 0 }
};
-extern int mkdir_main (int argc, char **argv)
+int mkdir_main (int argc, char **argv)
{
mode_t mode = (mode_t)(-1);
int status = EXIT_SUCCESS;
#include "busybox.h"
#include "libcoreutils/coreutils.h"
-extern int mkfifo_main(int argc, char **argv)
+int mkfifo_main(int argc, char **argv)
{
mode_t mode;
int retval = EXIT_SUCCESS;
static const char modes_chars[] = { 'p', 'c', 'u', 'b', 0, 1, 1, 2 };
static const mode_t modes_cubp[] = { S_IFIFO, S_IFCHR, S_IFBLK };
-extern int mknod_main(int argc, char **argv)
+int mknod_main(int argc, char **argv)
{
mode_t mode;
dev_t dev;
static const char fmt[] = "cannot overwrite %sdirectory with %sdirectory";
-extern int mv_main(int argc, char **argv)
+int mv_main(int argc, char **argv)
{
struct stat dest_stat;
const char *last;
#include <stdlib.h>
#include "busybox.h"
-extern int pwd_main(int argc, char **argv)
+int pwd_main(int argc, char **argv)
{
char *buf;
#include <unistd.h>
#include "busybox.h"
-extern int rm_main(int argc, char **argv)
+int rm_main(int argc, char **argv)
{
int status = 0;
int flags = 0;
#include <libgen.h>
#include "busybox.h"
-extern int rmdir_main(int argc, char **argv)
+int rmdir_main(int argc, char **argv)
{
int status = EXIT_SUCCESS;
int flags;
#include <stdlib.h>
#include "busybox.h"
-extern int seq_main(int argc, char **argv)
+int seq_main(int argc, char **argv)
{
double last, first, increment, i;
};
#endif
-extern int sleep_main(int argc, char **argv)
+int sleep_main(int argc, char **argv)
{
unsigned int duration;
};
#ifndef TEST
-extern int stty_main(int argc, char **argv)
+int stty_main(int argc, char **argv)
#else
-extern int main(int argc, char **argv)
+int main(int argc, char **argv)
#endif
{
struct termios mode;
#include <unistd.h>
#include "busybox.h"
-extern int sync_main(int argc, char **argv)
+int sync_main(int argc, char **argv)
{
bb_warn_ignoring_args(argc - 1);
static int is_a_group_member(gid_t gid);
static void initialize_group_array(void);
-extern int test_main(int argc, char **argv)
+int test_main(int argc, char **argv)
{
int res;
#include <stdlib.h>
#include "busybox.h"
-extern int touch_main(int argc, char **argv)
+int touch_main(int argc, char **argv)
{
int fd;
int flags;
return ix;
}
-extern int tr_main(int argc, char **argv)
+int tr_main(int argc, char **argv)
{
register unsigned char *ptr;
int output_length=0, input_length;
#include <stdlib.h>
#include "busybox.h"
-extern int true_main(int argc, char **argv)
+int true_main(int argc, char **argv)
{
return EXIT_SUCCESS;
}
#include <unistd.h>
#include "busybox.h"
-extern int tty_main(int argc, char **argv)
+int tty_main(int argc, char **argv)
{
const char *s;
int silent; /* Note: No longer relevant in SUSv3. */
#include <unistd.h>
#include "busybox.h"
-extern int usleep_main(int argc, char **argv)
+int usleep_main(int argc, char **argv)
{
if (argc != 2) {
bb_show_usage();
}
}
-extern int uudecode_main(int argc, char **argv)
+int uudecode_main(int argc, char **argv)
{
int (*decode_fn_ptr) (FILE * src, FILE * dst);
FILE *src_stream;
#include <sys/wait.h>
#include "busybox.h"
-extern int watch_main(int argc, char **argv)
+int watch_main(int argc, char **argv)
{
const int header_len = 40;
time_t t;
#include <time.h>
#include "busybox.h"
-extern int who_main(int argc, char **argv)
+int who_main(int argc, char **argv)
{
struct utmp *ut;
struct stat st;
#include <unistd.h>
#include "busybox.h"
-extern int whoami_main(int argc, char **argv)
+int whoami_main(int argc, char **argv)
{
if (argc > 1)
bb_show_usage();
#include <stdlib.h>
#include "busybox.h"
-extern int yes_main(int argc, char **argv)
+int yes_main(int argc, char **argv)
{
static const char fmt_str[] = " %s";
const char *fmt;
#include <stdlib.h>
#include "busybox.h"
-extern int mktemp_main(int argc, char **argv)
+int mktemp_main(int argc, char **argv)
{
unsigned long flags = bb_getopt_ulflags(argc, argv, "dq");
/* Read a block of data from stdin, write it to stdout.
* Activity is indicated by a '.' to stderr
*/
-extern int pipe_progress_main(int argc, char **argv)
+int pipe_progress_main(int argc, char **argv)
{
RESERVE_CONFIG_BUFFER(buf, PIPE_PROGRESS_SIZE);
time_t t = time(NULL);
#include <sys/stat.h>
#include "busybox.h"
-extern int which_main(int argc, char **argv)
+int which_main(int argc, char **argv)
{
int status = EXIT_SUCCESS;
size_t i, count;
/*
* Given a blkid device, return its name
*/
-extern const char *blkid_dev_devname(blkid_dev dev)
+const char *blkid_dev_devname(blkid_dev dev)
{
return dev->bid_name;
}
struct list_head *p;
};
-extern blkid_dev_iterate blkid_dev_iterate_begin(blkid_cache cache)
+blkid_dev_iterate blkid_dev_iterate_begin(blkid_cache cache)
{
blkid_dev_iterate iter;
return 0;
}
-extern void blkid_dev_iterate_end(blkid_dev_iterate iter)
+void blkid_dev_iterate_end(blkid_dev_iterate iter)
{
if (!iter || iter->magic != DEV_ITERATE_MAGIC)
return;
struct list_head *p;
};
-extern blkid_tag_iterate blkid_tag_iterate_begin(blkid_dev dev)
+blkid_tag_iterate blkid_tag_iterate_begin(blkid_dev dev)
{
blkid_tag_iterate iter;
return 0;
}
-extern void blkid_tag_iterate_end(blkid_tag_iterate iter)
+void blkid_tag_iterate_end(blkid_tag_iterate iter)
{
if (!iter || iter->magic != TAG_ITERATE_MAGIC)
return;
+ tbl->table[pass-1]);
}
-extern void e2fsck_clear_progbar(e2fsck_t ctx)
+void e2fsck_clear_progbar(e2fsck_t ctx)
{
if (!(ctx->flags & E2F_FLAG_PROG_BAR))
return;
return &rsm;
}
-extern int awk_main(int argc, char **argv)
+int awk_main(int argc, char **argv)
{
char *s, *s1;
int i, j, c, flen;
return(stat(filename, &statbuf));
}
-extern int patch_main(int argc, char **argv)
+int patch_main(int argc, char **argv)
{
int patch_level = -1;
char *patch_line;
free(temp);
}
-extern int sed_main(int argc, char **argv)
+int sed_main(int argc, char **argv)
{
int status = EXIT_SUCCESS, opt, getpat = 1;
fputs(out, stdout);
}
-extern int vi_main(int argc, char **argv)
+int vi_main(int argc, char **argv)
{
int c;
RESERVE_CONFIG_BUFFER(STATUS_BUFFER, STATUS_BUFFER_LEN);
}
-extern int grep_main(int argc, char **argv)
+int grep_main(int argc, char **argv)
{
FILE *file;
int matched;
}
#endif /* CONFIG_FEATURE_USE_INITTAB */
-extern int init_main(int argc, char **argv)
+int init_main(int argc, char **argv)
{
struct init_action *a;
pid_t wpid;
#ifndef CONFIG_INIT
const char * const bb_shutdown_format = "\r%s\n";
-extern int bb_shutdown_system(unsigned long magic)
+int bb_shutdown_system(unsigned long magic)
{
int pri = LOG_KERN|LOG_NOTICE|LOG_FACMASK;
const char *message;
#define S_IWGRP_OR_S_IWOTH (S_IWGRP | S_IWOTH)
#endif
-extern int mesg_main(int argc, char *argv[])
+int mesg_main(int argc, char *argv[])
{
struct stat sb;
char *tty;
#include <string.h>
#include "busybox.h"
-extern int bb_echo(int ATTRIBUTE_UNUSED argc, char **argv)
+int bb_echo(int ATTRIBUTE_UNUSED argc, char **argv)
{
#ifndef CONFIG_FEATURE_FANCY_ECHO
#define eflag '\\'
#include <string.h>
#include "libbb.h"
-extern char *concat_path_file(const char *path, const char *filename)
+char *concat_path_file(const char *path, const char *filename)
{
char *lc;
#include "libbb.h"
-extern char *concat_subpath_file(const char *path, const char *f)
+char *concat_subpath_file(const char *path, const char *f)
{
if(f && *f == '.' && (!f[1] || (f[1] == '.' && !f[2])))
return NULL;
}
-extern int bb_copyfd_size(int fd1, int fd2, const off_t size)
+int bb_copyfd_size(int fd1, int fd2, const off_t size)
{
if (size) {
return(bb_full_fd_action(fd1, fd2, size));
return(0);
}
-extern int bb_copyfd_eof(int fd1, int fd2)
+int bb_copyfd_eof(int fd1, int fd2)
{
return(bb_full_fd_action(fd1, fd2, 0));
}
/* try to open up the specified device */
-extern int device_open(const char *device, int mode)
+int device_open(const char *device, int mode)
{
int m, f, fd = -1;
#include <stdlib.h>
#include "libbb.h"
-extern void bb_error_msg(const char *s, ...)
+void bb_error_msg(const char *s, ...)
{
va_list p;
#include <stdlib.h>
#include "libbb.h"
-extern void bb_error_msg_and_die(const char *s, ...)
+void bb_error_msg_and_die(const char *s, ...)
{
va_list p;
* Given any other file (or directory), find the mount table entry for its
* filesystem.
*/
-extern struct mntent *find_mount_point(const char *name, const char *table)
+struct mntent *find_mount_point(const char *name, const char *table)
{
struct stat s;
dev_t mountDevice;
* Returns a list of all matching PIDs
* It is the caller's duty to free the returned pidlist.
*/
-extern long* find_pid_by_name( const char* pidName)
+long* find_pid_by_name( const char* pidName)
{
long* pidList;
int i=0;
return pidList;
}
-extern long *pidlist_reverse(long *pidList)
+long *pidlist_reverse(long *pidList)
{
int i=0;
while (pidList[i] > 0 && ++i);
#include <stdlib.h>
#include "libbb.h"
-extern char *find_block_device(char *path)
+char *find_block_device(char *path)
{
DIR *dir;
struct dirent *entry;
}
/* Get line, including trailing /n if any */
-extern char *bb_get_line_from_file(FILE *file)
+char *bb_get_line_from_file(FILE *file)
{
int i;
return bb_get_chunk_from_file(file, &i);
}
/* Get line. Remove trailing /n */
-extern char *bb_get_chomped_line_from_file(FILE *file)
+char *bb_get_chomped_line_from_file(FILE *file)
{
int i;
char *c=bb_get_chunk_from_file(file, &i);
#include "libbb.h"
-extern void bb_herror_msg(const char *s, ...)
+void bb_herror_msg(const char *s, ...)
{
va_list p;
#include "libbb.h"
-extern void bb_herror_msg_and_die(const char *s, ...)
+void bb_herror_msg_and_die(const char *s, ...)
{
va_list p;
* so, for example, to check if the kernel is greater than 2.2.11:
* if (get_kernel_revision() <= 2*65536+2*256+11) { <stuff> }
*/
-extern int get_kernel_revision(void)
+int get_kernel_revision(void)
{
struct utsname name;
char *s;
#ifdef L_llist_add_to
/* Add data to the start of the linked list. */
-extern llist_t *llist_add_to(llist_t *old_head, char *new_item)
+llist_t *llist_add_to(llist_t *old_head, char *new_item)
{
llist_t *new_head;
#ifdef L_llist_add_to_end
/* Add data to the end of the linked list. */
-extern llist_t *llist_add_to_end(llist_t *list_head, char *data)
+llist_t *llist_add_to_end(llist_t *list_head, char *data)
{
llist_t *new_item;
#ifdef L_llist_free_one
/* Free the current list element and advance to the next entry in the list.
* Returns a pointer to the next element. */
-extern llist_t *llist_free_one(llist_t *elm)
+llist_t *llist_free_one(llist_t *elm)
{
llist_t *next = elm ? elm->link : NULL;
#if ENABLE_DMALLOC /* avoid warnings from dmalloc's error-free-null option */
#ifdef L_llist_free
/* Recursively free all elements in the linked list. */
-extern void llist_free(llist_t *elm)
+void llist_free(llist_t *elm)
{
while ((elm = llist_free_one(elm)));
}
* check passwords.
*/
-extern int obscure(const char *old, const char *newval, const struct passwd *pwdp)
+int obscure(const char *old, const char *newval, const struct passwd *pwdp)
{
const char *msg = obscure_msg(old, newval, pwdp);
#define FILEMODEBITS (S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO)
-extern int bb_parse_mode(const char *s, mode_t *current_mode)
+int bb_parse_mode(const char *s, mode_t *current_mode)
{
static const mode_t who_mask[] = {
S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO, /* a */
#include <stdlib.h>
#include "libbb.h"
-extern void bb_perror_msg(const char *s, ...)
+void bb_perror_msg(const char *s, ...)
{
va_list p;
#include <stdlib.h>
#include "libbb.h"
-extern void bb_perror_msg_and_die(const char *s, ...)
+void bb_perror_msg_and_die(const char *s, ...)
{
va_list p;
#include <stddef.h>
#include <libbb.h>
-extern void bb_perror_nomsg(void)
+void bb_perror_nomsg(void)
{
/* Ignore the gcc warning about a null format string. */
bb_perror_msg(NULL);
#include <stddef.h>
#include "libbb.h"
-extern void bb_perror_nomsg_and_die(void)
+void bb_perror_nomsg_and_die(void)
{
/* Ignore the gcc warning about a null format string. */
bb_perror_msg_and_die(NULL);
#include <unistd.h>
#include "libbb.h"
-extern void bb_xprint_and_close_file(FILE *file)
+void bb_xprint_and_close_file(FILE *file)
{
bb_xfflush_stdout();
/* Note: Do not use STDOUT_FILENO here, as this is a lib routine
* exits with default error code if an error occurs
*/
-extern int bb_xprint_file_by_name(const char *filename)
+int bb_xprint_file_by_name(const char *filename)
{
FILE *f;
#endif
#ifdef L_bb_vprintf
-extern int bb_vprintf(const char * __restrict format, va_list arg)
+int bb_vprintf(const char * __restrict format, va_list arg)
{
return bb_vfprintf(stdout, format, arg);
}
#endif
#ifdef L_bb_printf
-extern int bb_printf(const char * __restrict format, ...)
+int bb_printf(const char * __restrict format, ...)
{
va_list arg;
int rv;
}
-extern procps_status_t * procps_scan(int save_user_arg0)
+procps_status_t * procps_scan(int save_user_arg0)
{
static DIR *dir;
struct dirent *entry;
#include "libbb.h"
-extern char *pw_encrypt(const char *clear, const char *salt)
+char *pw_encrypt(const char *clear, const char *salt)
{
static char cipher[128];
char *cp;
#include <getopt.h>
#include "libbb.h"
-extern int remove_file(const char *path, int flags)
+int remove_file(const char *path, int flags)
{
struct stat path_stat;
int path_exists = 1;
* test_mode = 2 means to fail silently on missing directories
*/
-extern int run_parts(char **args, const unsigned char test_mode, char **env)
+int run_parts(char **args, const unsigned char test_mode, char **env)
{
struct dirent **namelist = 0;
struct stat st;
/* Like strncpy but make sure the resulting string is always 0 terminated. */
-extern char * safe_strncpy(char *dst, const char *src, size_t size)
+char * safe_strncpy(char *dst, const char *src, size_t size)
{
dst[size-1] = '\0';
return strncpy(dst, src, size-1);
#include <ctype.h>
#include "libbb.h"
-extern const char *bb_skip_whitespace(const char *s)
+const char *bb_skip_whitespace(const char *s)
{
while (isspace(*s)) {
++s;
#if (__GLIBC__ < 2)
-extern int vdprintf(int d, const char *format, va_list ap)
+int vdprintf(int d, const char *format, va_list ap)
{
char buf[BUF_SIZE];
int len;
#include <stdlib.h>
#include "libbb.h"
-extern void bb_verror_msg(const char *s, va_list p)
+void bb_verror_msg(const char *s, va_list p)
{
fflush(stdout);
fprintf(stderr, "%s: ", bb_applet_name);
#include "libbb.h"
-extern void bb_vherror_msg(const char *s, va_list p)
+void bb_vherror_msg(const char *s, va_list p)
{
if(s == 0)
s = "";
#include <stdlib.h>
#include "libbb.h"
-extern void bb_vperror_msg(const char *s, va_list p)
+void bb_vperror_msg(const char *s, va_list p)
{
int err=errno;
if(s == 0) s = "";
#include <libbb.h>
-extern void bb_warn_ignoring_args(int n)
+void bb_warn_ignoring_args(int n)
{
if (n) {
bb_perror_msg("ignoring all arguments");
#ifndef DMALLOC
#ifdef L_xmalloc
-extern void *xmalloc(size_t size)
+void *xmalloc(size_t size)
{
void *ptr = malloc(size);
if (ptr == NULL && size != 0)
#endif
#ifdef L_xrealloc
-extern void *xrealloc(void *ptr, size_t size)
+void *xrealloc(void *ptr, size_t size)
{
ptr = realloc(ptr, size);
if (ptr == NULL && size != 0)
#endif
#ifdef L_xcalloc
-extern void *xcalloc(size_t nmemb, size_t size)
+void *xcalloc(size_t nmemb, size_t size)
{
void *ptr = calloc(nmemb, size);
if (ptr == NULL && nmemb != 0 && size != 0)
#endif
#ifdef L_xopen
-extern int bb_xopen(const char *pathname, int flags)
+int bb_xopen(const char *pathname, int flags)
{
int ret;
#endif
#ifdef L_xread
-extern ssize_t bb_xread(int fd, void *buf, size_t count)
+ssize_t bb_xread(int fd, void *buf, size_t count)
{
ssize_t size;
#endif
#ifdef L_xread_all
-extern void bb_xread_all(int fd, void *buf, size_t count)
+void bb_xread_all(int fd, void *buf, size_t count)
{
ssize_t size;
#endif
#ifdef L_xread_char
-extern unsigned char bb_xread_char(int fd)
+unsigned char bb_xread_char(int fd)
{
char tmp;
#endif
#ifdef L_xferror
-extern void bb_xferror(FILE *fp, const char *fn)
+void bb_xferror(FILE *fp, const char *fn)
{
if (ferror(fp)) {
bb_error_msg_and_die("%s", fn);
#endif
#ifdef L_xferror_stdout
-extern void bb_xferror_stdout(void)
+void bb_xferror_stdout(void)
{
bb_xferror(stdout, bb_msg_standard_output);
}
#endif
#ifdef L_xfflush_stdout
-extern void bb_xfflush_stdout(void)
+void bb_xfflush_stdout(void)
{
if (fflush(stdout)) {
bb_perror_msg_and_die(bb_msg_standard_output);
#include "busybox.h"
-extern long bb_xgetlarg(const char *arg, int base, long lower, long upper)
+long bb_xgetlarg(const char *arg, int base, long lower, long upper)
{
long result;
char *endptr;
#include <unistd.h>
#include "libbb.h"
-extern char *xreadlink(const char *path)
+char *xreadlink(const char *path)
{
static const int GROWBY = 80; /* how large we will grow strings by */
}
-extern int login_main(int argc, char **argv)
+int login_main(int argc, char **argv)
{
char tty[BUFSIZ];
char full_tty[200];
}
-extern int passwd_main(int argc, char **argv)
+int passwd_main(int argc, char **argv)
{
int amroot;
char *cp;
}
-extern int sulogin_main(int argc, char **argv)
+int sulogin_main(int argc, char **argv)
{
char *cp;
char *device = (char *) 0;
tcsetattr(STDIN_FILENO, TCSANOW, &oterm);
}
-extern int vlock_main(int argc, char **argv)
+int vlock_main(int argc, char **argv)
{
sigset_t sig;
struct sigaction sa;
#define CDROMEJECT 0x5309 /* Ejects the cdrom media */
#define DEFAULT_CDROM "/dev/cdrom"
-extern int eject_main(int argc, char **argv)
+int eject_main(int argc, char **argv)
{
unsigned long flags;
char *device;
#error struct utmp member char[] size(s) have changed!
#endif
-extern int last_main(int argc, char **argv)
+int last_main(int argc, char **argv)
{
struct utmp ut;
int n, file = STDIN_FILENO;
/* Licensed under the GPL v2 or later, see the file LICENSE in this tarball. */
-extern int makedevs_main(int argc, char **argv)
+int makedevs_main(int argc, char **argv)
{
FILE *table = stdin;
char *rootdir = NULL;
{0, 0}
};
-extern int mt_main(int argc, char **argv)
+int mt_main(int argc, char **argv)
{
const char *file = "/dev/tape";
const struct mt_opcodes *code = opcodes;
signal (SIGQUIT, quit_signal);
}
-extern int time_main (int argc, char **argv)
+int time_main (int argc, char **argv)
{
int gotone;
resource_t res;
#endif
-extern int insmod_main( int argc, char **argv)
+int insmod_main( int argc, char **argv)
{
int opt;
int len;
}
}
-extern int insmod_ng_main( int argc, char **argv)
+int insmod_ng_main( int argc, char **argv)
{
int i;
int fd;
static const int NEW_MOD_USED_ONCE = 16;
static const int NEW_MOD_INITIALIZING = 64;
-extern int lsmod_main(int argc, char **argv)
+int lsmod_main(int argc, char **argv)
{
struct module_info info;
char *module_names, *mn, *deps, *dn;
#else /* CONFIG_FEATURE_QUERY_MODULE_INTERFACE */
-extern int lsmod_main(int argc, char **argv)
+int lsmod_main(int argc, char **argv)
{
printf("Module Size Used by");
check_tainted();
}
-extern int modprobe_main(int argc, char** argv)
+int modprobe_main(int argc, char** argv)
{
int rc = EXIT_SUCCESS;
char *unused;
}
#endif
-extern int rmmod_main(int argc, char **argv)
+int rmmod_main(int argc, char **argv)
{
int n, ret = EXIT_SUCCESS;
unsigned int flags = O_NONBLOCK|O_EXCL;
return(NULL);
}
-extern int ifupdown_main(int argc, char **argv)
+int ifupdown_main(int argc, char **argv)
{
int (*cmds) (struct interface_defn_t *) = NULL;
struct interfaces_file_t *defn;
filter.oneline = _oneline;
}
-extern int ipaddr_list_or_flush(int argc, char **argv, int flush)
+int ipaddr_list_or_flush(int argc, char **argv, int flush)
{
static const char *const option[] = { "to", "scope", "up", "label", "dev", 0 };
exit(0);
}
-extern int do_ipaddr(int argc, char **argv)
+int do_ipaddr(int argc, char **argv)
{
static const char *const commands[] = {
"add", "delete", "list", "show", "lst", "flush", 0
return;
}
-extern int ping_main(int argc, char **argv)
+int ping_main(int argc, char **argv)
{
argc--;
argv++;
pingstats(0);
}
-extern int ping_main(int argc, char **argv)
+int ping_main(int argc, char **argv)
{
char *thisarg;
return;
}
-extern int ping6_main(int argc, char **argv)
+int ping6_main(int argc, char **argv)
{
argc--;
argv++;
pingstats(0);
}
-extern int ping6_main(int argc, char **argv)
+int ping6_main(int argc, char **argv)
{
char *thisarg;
if (G.do_termios) tcsetattr(0, TCSADRAIN, &G.termios_def);
}
-extern int telnet_main(int argc, char** argv)
+int telnet_main(int argc, char** argv)
{
int len;
struct sockaddr_in s_in;
#include <stdlib.h>
#include "busybox.h"
-extern int free_main(int argc, char **argv)
+int free_main(int argc, char **argv)
{
struct sysinfo info;
sysinfo(&info);
#define KILL 0
#define KILLALL 1
-extern int kill_main(int argc, char **argv)
+int kill_main(int argc, char **argv)
{
int whichApp, signo = SIGTERM;
const char *name;
#define omitted (0)
#endif
-extern int pidof_main(int argc, char **argv)
+int pidof_main(int argc, char **argv)
{
unsigned n = 0;
unsigned fail = 1;
#include <selinux/selinux.h> /* for is_selinux_enabled() */
#endif
-extern int ps_main(int argc, char **argv)
+int ps_main(int argc, char **argv)
{
procps_status_t * p;
int i, len;
#define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100)
-extern int uptime_main(int argc, char **argv)
+int uptime_main(int argc, char **argv)
{
int updays, uphours, upminutes;
struct sysinfo info;
}
#ifdef CONFIG_FEATURE_COMMAND_SAVEHISTORY
-extern void load_history ( const char *fromfile )
+void load_history ( const char *fromfile )
{
FILE *fp;
int hi;
cur_history = n_history = hi;
}
-extern void save_history ( const char *tofile )
+void save_history ( const char *tofile )
{
FILE *fp = fopen ( tofile, "w" );
*/
-extern int msh_main(int argc, char **argv)
+int msh_main(int argc, char **argv)
{
REGISTER int f;
REGISTER char *s;
#define OPT_LEVEL 1
#define OPT_FOREGROUND 2
-extern int klogd_main(int argc, char **argv)
+int klogd_main(int argc, char **argv)
{
unsigned long opt;
char *c_arg;
}
-extern int logger_main(int argc, char **argv)
+int logger_main(int argc, char **argv)
{
int pri = LOG_USER | LOG_NOTICE;
int option = 0;
error_exit("semop[SMrdn]");
}
-extern int logread_main(int argc, char **argv)
+int logread_main(int argc, char **argv)
{
int i;
int follow=0;
} /* for main loop */
}
-extern int syslogd_main(int argc, char **argv)
+int syslogd_main(int argc, char **argv)
{
int opt;
#ifdef STANDALONE
int main(int argc, char **argv)
#else
-extern int fbset_main(int argc, char **argv)
+int fbset_main(int argc, char **argv)
#endif
{
struct fb_var_screeninfo var, varset;
/* From <linux/fd.h> */
#define FDFLUSH _IO(2,0x4b)
-extern int fdflush_main(int argc, char **argv)
+int fdflush_main(int argc, char **argv)
{
int fd, result;
}
#endif
-extern int fsck_minix_main(int argc, char **argv)
+int fsck_minix_main(int argc, char **argv)
{
struct termios tmp;
int count;
#define HWCLOCK_OPT_HCTOSYS 0x08
#define HWCLOCK_OPT_SYSTOHC 0x10
-extern int hwclock_main ( int argc, char **argv )
+int hwclock_main ( int argc, char **argv )
{
unsigned long opt;
int utc;
printf("one bad block\n");
}
-extern int mkfs_minix_main(int argc, char **argv)
+int mkfs_minix_main(int argc, char **argv)
{
int i=1;
char *tmp;
#endif /* CONFIG_FEATURE_USE_TERMIOS */
-extern int more_main(int argc, char **argv)
+int more_main(int argc, char **argv)
{
int c, lines, input = 0;
int please_display_more_prompt = 0;
#define DO_ALL 0x01
-extern int swap_on_off_main(int argc, char **argv)
+int swap_on_off_main(int argc, char **argv)
{
int ret;
#define OPT_IGNORED 32 // -v is ignored
#define OPT_ALL (ENABLE_FEATURE_UMOUNT_ALL ? 64 : 0)
-extern int umount_main(int argc, char **argv)
+int umount_main(int argc, char **argv)
{
int doForce;
char path[2*PATH_MAX];