*: add FAST_FUNC to function ptrs where it makes sense

function                                             old     new   delta
evalcommand                                         1195    1209     +14
testcmd                                                -      10     +10
printfcmd                                              -      10     +10
echocmd                                                -      10     +10
func_exec                                            270     276      +6
echo_dg                                              104     109      +5
store_nlmsg                                           85      89      +4
pseudo_exec_argv                                     195     198      +3
dotcmd                                               287     290      +3
machtime_stream                                       29      31      +2
discard_stream                                        24      26      +2
argstr                                              1299    1301      +2
killcmd                                              108     109      +1
evalfor                                              226     227      +1
daytime_stream                                        43      44      +1
run_list                                            2544    2543      -1
lookupvar                                             62      61      -1
ipaddr_modify                                       1310    1309      -1
...
parse_stream                                        2254    2245      -9
evalpipe                                             356     347      -9
collect_if                                           210     197     -13
read_opt                                             869     851     -18
handle_dollar                                        681     658     -23
print_addrinfo                                      1342    1303     -39
iterate_on_dir                                       156      59     -97
print_route                                         1709    1609    -100
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 12/130 up/down: 74/-767)       Total: -693 bytes
   text    data     bss     dec     hex filename
 841748     467    7872  850087   cf8a7 busybox_old
 841061     467    7872  849400   cf5f8 busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2009-06-05 12:06:05 +02:00
parent 8507e1f109
commit d5f1b1bbe0
22 changed files with 323 additions and 345 deletions

View File

@ -42,8 +42,8 @@ typedef int execfn(char *command);
struct method_t {
const char *name;
int (*up)(struct interface_defn_t *ifd, execfn *e);
int (*down)(struct interface_defn_t *ifd, execfn *e);
int (*up)(struct interface_defn_t *ifd, execfn *e) FAST_FUNC;
int (*down)(struct interface_defn_t *ifd, execfn *e) FAST_FUNC;
};
struct address_family_t {
@ -325,7 +325,7 @@ static int execute(const char *command, struct interface_defn_t *ifd, execfn *ex
#endif
#if ENABLE_FEATURE_IFUPDOWN_IPV6
static int loopback_up6(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC loopback_up6(struct interface_defn_t *ifd, execfn *exec)
{
#if ENABLE_FEATURE_IFUPDOWN_IP
int result;
@ -337,7 +337,7 @@ static int loopback_up6(struct interface_defn_t *ifd, execfn *exec)
#endif
}
static int loopback_down6(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC loopback_down6(struct interface_defn_t *ifd, execfn *exec)
{
#if ENABLE_FEATURE_IFUPDOWN_IP
return execute("ip link set %iface% down", ifd, exec);
@ -346,7 +346,7 @@ static int loopback_down6(struct interface_defn_t *ifd, execfn *exec)
#endif
}
static int static_up6(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC static_up6(struct interface_defn_t *ifd, execfn *exec)
{
int result;
#if ENABLE_FEATURE_IFUPDOWN_IP
@ -362,7 +362,7 @@ static int static_up6(struct interface_defn_t *ifd, execfn *exec)
return ((result == 3) ? 3 : 0);
}
static int static_down6(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC static_down6(struct interface_defn_t *ifd, execfn *exec)
{
#if ENABLE_FEATURE_IFUPDOWN_IP
return execute("ip link set %iface% down", ifd, exec);
@ -372,7 +372,7 @@ static int static_down6(struct interface_defn_t *ifd, execfn *exec)
}
#if ENABLE_FEATURE_IFUPDOWN_IP
static int v4tunnel_up(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC v4tunnel_up(struct interface_defn_t *ifd, execfn *exec)
{
int result;
result = execute("ip tunnel add %iface% mode sit remote "
@ -383,7 +383,7 @@ static int v4tunnel_up(struct interface_defn_t *ifd, execfn *exec)
return ((result == 4) ? 4 : 0);
}
static int v4tunnel_down(struct interface_defn_t * ifd, execfn * exec)
static int FAST_FUNC v4tunnel_down(struct interface_defn_t * ifd, execfn * exec)
{
return execute("ip tunnel del %iface%", ifd, exec);
}
@ -405,7 +405,7 @@ static const struct address_family_t addr_inet6 = {
#endif /* FEATURE_IFUPDOWN_IPV6 */
#if ENABLE_FEATURE_IFUPDOWN_IPV4
static int loopback_up(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC loopback_up(struct interface_defn_t *ifd, execfn *exec)
{
#if ENABLE_FEATURE_IFUPDOWN_IP
int result;
@ -417,7 +417,7 @@ static int loopback_up(struct interface_defn_t *ifd, execfn *exec)
#endif
}
static int loopback_down(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC loopback_down(struct interface_defn_t *ifd, execfn *exec)
{
#if ENABLE_FEATURE_IFUPDOWN_IP
int result;
@ -429,7 +429,7 @@ static int loopback_down(struct interface_defn_t *ifd, execfn *exec)
#endif
}
static int static_up(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC static_up(struct interface_defn_t *ifd, execfn *exec)
{
int result;
#if ENABLE_FEATURE_IFUPDOWN_IP
@ -451,7 +451,7 @@ static int static_up(struct interface_defn_t *ifd, execfn *exec)
#endif
}
static int static_down(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC static_down(struct interface_defn_t *ifd, execfn *exec)
{
int result;
#if ENABLE_FEATURE_IFUPDOWN_IP
@ -468,8 +468,7 @@ static int static_down(struct interface_defn_t *ifd, execfn *exec)
}
#if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP
struct dhcp_client_t
{
struct dhcp_client_t {
const char *name;
const char *startcmd;
const char *stopcmd;
@ -497,7 +496,7 @@ static const struct dhcp_client_t ext_dhcp_clients[] = {
#endif /* ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCPC */
#if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP
static int dhcp_up(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC dhcp_up(struct interface_defn_t *ifd, execfn *exec)
{
unsigned i;
#if ENABLE_FEATURE_IFUPDOWN_IP
@ -517,7 +516,7 @@ static int dhcp_up(struct interface_defn_t *ifd, execfn *exec)
return 0;
}
#elif ENABLE_APP_UDHCPC
static int dhcp_up(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC dhcp_up(struct interface_defn_t *ifd, execfn *exec)
{
#if ENABLE_FEATURE_IFUPDOWN_IP
/* ip doesn't up iface when it configures it (unlike ifconfig) */
@ -533,7 +532,7 @@ static int dhcp_up(struct interface_defn_t *ifd, execfn *exec)
ifd, exec);
}
#else
static int dhcp_up(struct interface_defn_t *ifd UNUSED_PARAM,
static int FAST_FUNC dhcp_up(struct interface_defn_t *ifd UNUSED_PARAM,
execfn *exec UNUSED_PARAM)
{
return 0; /* no dhcp support */
@ -541,7 +540,7 @@ static int dhcp_up(struct interface_defn_t *ifd UNUSED_PARAM,
#endif
#if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP
static int dhcp_down(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC dhcp_down(struct interface_defn_t *ifd, execfn *exec)
{
int result = 0;
unsigned i;
@ -564,7 +563,7 @@ static int dhcp_down(struct interface_defn_t *ifd, execfn *exec)
return ((result == 3) ? 3 : 0);
}
#elif ENABLE_APP_UDHCPC
static int dhcp_down(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC dhcp_down(struct interface_defn_t *ifd, execfn *exec)
{
int result;
result = execute("kill "
@ -579,42 +578,42 @@ static int dhcp_down(struct interface_defn_t *ifd, execfn *exec)
return ((result == 3) ? 3 : 0);
}
#else
static int dhcp_down(struct interface_defn_t *ifd UNUSED_PARAM,
static int FAST_FUNC dhcp_down(struct interface_defn_t *ifd UNUSED_PARAM,
execfn *exec UNUSED_PARAM)
{
return 0; /* no dhcp support */
}
#endif
static int manual_up_down(struct interface_defn_t *ifd UNUSED_PARAM, execfn *exec UNUSED_PARAM)
static int FAST_FUNC manual_up_down(struct interface_defn_t *ifd UNUSED_PARAM, execfn *exec UNUSED_PARAM)
{
return 1;
}
static int bootp_up(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC bootp_up(struct interface_defn_t *ifd, execfn *exec)
{
return execute("bootpc[[ --bootfile %bootfile%]] --dev %iface%"
"[[ --server %server%]][[ --hwaddr %hwaddr%]]"
" --returniffail --serverbcast", ifd, exec);
}
static int ppp_up(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC ppp_up(struct interface_defn_t *ifd, execfn *exec)
{
return execute("pon[[ %provider%]]", ifd, exec);
}
static int ppp_down(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC ppp_down(struct interface_defn_t *ifd, execfn *exec)
{
return execute("poff[[ %provider%]]", ifd, exec);
}
static int wvdial_up(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC wvdial_up(struct interface_defn_t *ifd, execfn *exec)
{
return execute("start-stop-daemon --start -x wvdial "
"-p /var/run/wvdial.%iface% -b -m --[[ %provider%]]", ifd, exec);
}
static int wvdial_down(struct interface_defn_t *ifd, execfn *exec)
static int FAST_FUNC wvdial_down(struct interface_defn_t *ifd, execfn *exec)
{
return execute("start-stop-daemon --stop -x wvdial "
"-p /var/run/wvdial.%iface% -s 2", ifd, exec);

View File

@ -239,36 +239,36 @@ typedef struct servtab_t {
#ifdef INETD_BUILTINS_ENABLED
/* Echo received data */
#if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_ECHO
static void echo_stream(int, servtab_t *);
static void echo_dg(int, servtab_t *);
static void FAST_FUNC echo_stream(int, servtab_t *);
static void FAST_FUNC echo_dg(int, servtab_t *);
#endif
/* Internet /dev/null */
#if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
static void discard_stream(int, servtab_t *);
static void discard_dg(int, servtab_t *);
static void FAST_FUNC discard_stream(int, servtab_t *);
static void FAST_FUNC discard_dg(int, servtab_t *);
#endif
/* Return 32 bit time since 1900 */
#if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_TIME
static void machtime_stream(int, servtab_t *);
static void machtime_dg(int, servtab_t *);
static void FAST_FUNC machtime_stream(int, servtab_t *);
static void FAST_FUNC machtime_dg(int, servtab_t *);
#endif
/* Return human-readable time */
#if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
static void daytime_stream(int, servtab_t *);
static void daytime_dg(int, servtab_t *);
static void FAST_FUNC daytime_stream(int, servtab_t *);
static void FAST_FUNC daytime_dg(int, servtab_t *);
#endif
/* Familiar character generator */
#if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
static void chargen_stream(int, servtab_t *);
static void chargen_dg(int, servtab_t *);
static void FAST_FUNC chargen_stream(int, servtab_t *);
static void FAST_FUNC chargen_dg(int, servtab_t *);
#endif
struct builtin {
/* NB: not necessarily NUL terminated */
char bi_service7[7]; /* internally provided service name */
uint8_t bi_fork; /* 1 if stream fn should run in child */
void (*bi_stream_fn)(int, servtab_t *);
void (*bi_dgram_fn)(int, servtab_t *);
void (*bi_stream_fn)(int, servtab_t *) FAST_FUNC;
void (*bi_dgram_fn)(int, servtab_t *) FAST_FUNC;
};
static const struct builtin builtins[] = {
@ -1386,7 +1386,7 @@ static const char *const cat_args[] = { "cat", NULL };
#if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_ECHO
/* Echo service -- echo data back. */
/* ARGSUSED */
static void echo_stream(int s, servtab_t *sep UNUSED_PARAM)
static void FAST_FUNC echo_stream(int s, servtab_t *sep UNUSED_PARAM)
{
#if BB_MMU
while (1) {
@ -1407,7 +1407,7 @@ static void echo_stream(int s, servtab_t *sep UNUSED_PARAM)
/* on failure we return to main, which does exit(EXIT_FAILURE) */
#endif
}
static void echo_dg(int s, servtab_t *sep)
static void FAST_FUNC echo_dg(int s, servtab_t *sep)
{
enum { BUFSIZE = 12*1024 }; /* for jumbo sized packets! :) */
char *buf = xmalloc(BUFSIZE); /* too big for stack */
@ -1427,7 +1427,7 @@ static void echo_dg(int s, servtab_t *sep)
#if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
/* Discard service -- ignore data. */
/* ARGSUSED */
static void discard_stream(int s, servtab_t *sep UNUSED_PARAM)
static void FAST_FUNC discard_stream(int s, servtab_t *sep UNUSED_PARAM)
{
#if BB_MMU
while (safe_read(s, line, LINE_SIZE) > 0)
@ -1446,7 +1446,7 @@ static void discard_stream(int s, servtab_t *sep UNUSED_PARAM)
#endif
}
/* ARGSUSED */
static void discard_dg(int s, servtab_t *sep UNUSED_PARAM)
static void FAST_FUNC discard_dg(int s, servtab_t *sep UNUSED_PARAM)
{
/* dgram builtins are non-forking - DONT BLOCK! */
recv(s, line, LINE_SIZE, MSG_DONTWAIT);
@ -1467,7 +1467,7 @@ static void init_ring(void)
}
/* Character generator. MMU arches only. */
/* ARGSUSED */
static void chargen_stream(int s, servtab_t *sep UNUSED_PARAM)
static void FAST_FUNC chargen_stream(int s, servtab_t *sep UNUSED_PARAM)
{
char *rs;
int len;
@ -1495,7 +1495,7 @@ static void chargen_stream(int s, servtab_t *sep UNUSED_PARAM)
}
}
/* ARGSUSED */
static void chargen_dg(int s, servtab_t *sep)
static void FAST_FUNC chargen_dg(int s, servtab_t *sep)
{
int len;
char text[LINESIZ + 2];
@ -1544,14 +1544,14 @@ static uint32_t machtime(void)
return htonl((uint32_t)(tv.tv_sec + 2208988800));
}
/* ARGSUSED */
static void machtime_stream(int s, servtab_t *sep UNUSED_PARAM)
static void FAST_FUNC machtime_stream(int s, servtab_t *sep UNUSED_PARAM)
{
uint32_t result;
result = machtime();
full_write(s, &result, sizeof(result));
}
static void machtime_dg(int s, servtab_t *sep)
static void FAST_FUNC machtime_dg(int s, servtab_t *sep)
{
uint32_t result;
len_and_sockaddr *lsa = alloca(LSA_LEN_SIZE + sep->se_lsa->len);
@ -1569,14 +1569,14 @@ static void machtime_dg(int s, servtab_t *sep)
#if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
/* Return human-readable time of day */
/* ARGSUSED */
static void daytime_stream(int s, servtab_t *sep UNUSED_PARAM)
static void FAST_FUNC daytime_stream(int s, servtab_t *sep UNUSED_PARAM)
{
time_t t;
t = time(NULL);
fdprintf(s, "%.24s\r\n", ctime(&t));
}
static void daytime_dg(int s, servtab_t *sep)
static void FAST_FUNC daytime_dg(int s, servtab_t *sep)
{
time_t t;
len_and_sockaddr *lsa = alloca(LSA_LEN_SIZE + sep->se_lsa->len);

View File

@ -196,7 +196,7 @@ static int flush_update(void)
return 0;
}
static int print_addrinfo(const struct sockaddr_nl *who UNUSED_PARAM,
static int FAST_FUNC print_addrinfo(const struct sockaddr_nl *who UNUSED_PARAM,
struct nlmsghdr *n, void *arg UNUSED_PARAM)
{
struct ifaddrmsg *ifa = NLMSG_DATA(n);
@ -349,8 +349,7 @@ static int print_addrinfo(const struct sockaddr_nl *who UNUSED_PARAM,
}
struct nlmsg_list
{
struct nlmsg_list {
struct nlmsg_list *next;
struct nlmsghdr h;
};
@ -377,7 +376,7 @@ static int print_selected_addrinfo(int ifindex, struct nlmsg_list *ainfo)
}
static int store_nlmsg(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
static int FAST_FUNC store_nlmsg(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
{
struct nlmsg_list **linfo = (struct nlmsg_list**)arg;
struct nlmsg_list *h;

View File

@ -78,7 +78,7 @@ static unsigned get_hz(void)
return hz_internal;
}
static int print_route(const struct sockaddr_nl *who UNUSED_PARAM,
static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM,
struct nlmsghdr *n, void *arg UNUSED_PARAM)
{
struct rtmsg *r = NLMSG_DATA(n);

View File

@ -40,7 +40,7 @@ static void usage(void)
}
*/
static int print_rule(const struct sockaddr_nl *who UNUSED_PARAM,
static int FAST_FUNC print_rule(const struct sockaddr_nl *who UNUSED_PARAM,
struct nlmsghdr *n, void *arg UNUSED_PARAM)
{
struct rtmsg *r = NLMSG_DATA(n);

View File

@ -104,7 +104,7 @@ int FAST_FUNC rtnl_dump_request(struct rtnl_handle *rth, int type, void *req, in
}
static int rtnl_dump_filter(struct rtnl_handle *rth,
int (*filter)(const struct sockaddr_nl *, struct nlmsghdr *n, void *),
int (*filter)(const struct sockaddr_nl *, struct nlmsghdr *n, void *) FAST_FUNC,
void *arg1/*,
int (*junk)(struct sockaddr_nl *, struct nlmsghdr *n, void *),
void *arg2*/)
@ -196,7 +196,7 @@ static int rtnl_dump_filter(struct rtnl_handle *rth,
}
int FAST_FUNC xrtnl_dump_filter(struct rtnl_handle *rth,
int (*filter)(const struct sockaddr_nl *, struct nlmsghdr *, void *),
int (*filter)(const struct sockaddr_nl *, struct nlmsghdr *, void *) FAST_FUNC,
void *arg1)
{
int ret = rtnl_dump_filter(rth, filter, arg1/*, NULL, NULL*/);
@ -206,10 +206,10 @@ int FAST_FUNC xrtnl_dump_filter(struct rtnl_handle *rth,
}
int FAST_FUNC rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n,
pid_t peer, unsigned groups,
struct nlmsghdr *answer,
int (*junk)(struct sockaddr_nl *, struct nlmsghdr *, void *),
void *jarg)
pid_t peer, unsigned groups,
struct nlmsghdr *answer,
int (*junk)(struct sockaddr_nl *, struct nlmsghdr *, void *),
void *jarg)
{
/* bbox doesn't use parameters no. 3, 4, 6, 7, they are stubbed out */
#define peer 0

View File

@ -23,16 +23,16 @@ extern void rtnl_close(struct rtnl_handle *rth) FAST_FUNC;
extern int xrtnl_wilddump_request(struct rtnl_handle *rth, int fam, int type) FAST_FUNC;
extern int rtnl_dump_request(struct rtnl_handle *rth, int type, void *req, int len) FAST_FUNC;
extern int xrtnl_dump_filter(struct rtnl_handle *rth,
int (*filter)(const struct sockaddr_nl*, struct nlmsghdr *n, void*),
void *arg1) FAST_FUNC;
int (*filter)(const struct sockaddr_nl*, struct nlmsghdr *n, void*) FAST_FUNC,
void *arg1) FAST_FUNC;
/* bbox doesn't use parameters no. 3, 4, 6, 7, stub them out */
#define rtnl_talk(rtnl, n, peer, groups, answer, junk, jarg) \
rtnl_talk(rtnl, n, answer)
extern int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, pid_t peer,
unsigned groups, struct nlmsghdr *answer,
int (*junk)(struct sockaddr_nl *,struct nlmsghdr *n, void *),
void *jarg) FAST_FUNC;
unsigned groups, struct nlmsghdr *answer,
int (*junk)(struct sockaddr_nl *,struct nlmsghdr *n, void *),
void *jarg) FAST_FUNC;
extern int rtnl_send(struct rtnl_handle *rth, char *buf, int) FAST_FUNC;

View File

@ -39,7 +39,7 @@ static struct idxmap *find_by_index(int idx)
return NULL;
}
int ll_remember_index(const struct sockaddr_nl *who UNUSED_PARAM,
int FAST_FUNC ll_remember_index(const struct sockaddr_nl *who UNUSED_PARAM,
struct nlmsghdr *n,
void *arg UNUSED_PARAM)
{
@ -86,7 +86,7 @@ int ll_remember_index(const struct sockaddr_nl *who UNUSED_PARAM,
return 0;
}
const char *ll_idx_n2a(int idx, char *buf)
const char FAST_FUNC *ll_idx_n2a(int idx, char *buf)
{
struct idxmap *im;
@ -100,7 +100,7 @@ const char *ll_idx_n2a(int idx, char *buf)
}
const char *ll_index_to_name(int idx)
const char FAST_FUNC *ll_index_to_name(int idx)
{
static char nbuf[16];
@ -121,7 +121,7 @@ int ll_index_to_type(int idx)
}
#endif
unsigned ll_index_to_flags(int idx)
unsigned FAST_FUNC ll_index_to_flags(int idx)
{
struct idxmap *im;
@ -133,7 +133,7 @@ unsigned ll_index_to_flags(int idx)
return 0;
}
int xll_name_to_index(const char *name)
int FAST_FUNC xll_name_to_index(const char *name)
{
int ret = 0;
int sock_fd;
@ -192,7 +192,7 @@ int xll_name_to_index(const char *name)
return ret;
}
int ll_init_map(struct rtnl_handle *rth)
int FAST_FUNC ll_init_map(struct rtnl_handle *rth)
{
xrtnl_wilddump_request(rth, AF_UNSPEC, RTM_GETLINK);
xrtnl_dump_filter(rth, ll_remember_index, &idxmap);

View File

@ -4,13 +4,13 @@
PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
int ll_remember_index(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg);
int ll_init_map(struct rtnl_handle *rth);
int xll_name_to_index(const char *name);
const char *ll_index_to_name(int idx);
const char *ll_idx_n2a(int idx, char *buf);
int ll_remember_index(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) FAST_FUNC;
int ll_init_map(struct rtnl_handle *rth) FAST_FUNC;
int xll_name_to_index(const char *name) FAST_FUNC;
const char *ll_index_to_name(int idx) FAST_FUNC;
const char *ll_idx_n2a(int idx, char *buf) FAST_FUNC;
/* int ll_index_to_type(int idx); */
unsigned ll_index_to_flags(int idx);
unsigned ll_index_to_flags(int idx) FAST_FUNC;
POP_SAVED_FUNCTION_VISIBILITY

View File

@ -24,7 +24,7 @@ static inline uint64_t hton64(uint64_t v)
/* on these functions, make sure your datatype matches */
static int read_ip(const char *line, void *arg)
static int FAST_FUNC read_ip(const char *line, void *arg)
{
len_and_sockaddr *lsa;
@ -37,13 +37,13 @@ static int read_ip(const char *line, void *arg)
}
static int read_mac(const char *line, void *arg)
static int FAST_FUNC read_mac(const char *line, void *arg)
{
return NULL == ether_aton_r(line, (struct ether_addr *)arg);
}
static int read_str(const char *line, void *arg)
static int FAST_FUNC read_str(const char *line, void *arg)
{
char **dest = arg;
@ -53,14 +53,14 @@ static int read_str(const char *line, void *arg)
}
static int read_u32(const char *line, void *arg)
static int FAST_FUNC read_u32(const char *line, void *arg)
{
*(uint32_t*)arg = bb_strtou32(line, NULL, 10);
return errno == 0;
}
static int read_yn(const char *line, void *arg)
static int FAST_FUNC read_yn(const char *line, void *arg)
{
char *dest = arg;
@ -156,7 +156,7 @@ static void attach_option(struct option_set **opt_list,
/* read a dhcp option and add it to opt_list */
static int read_opt(const char *const_line, void *arg)
static int FAST_FUNC read_opt(const char *const_line, void *arg)
{
struct option_set **opt_list = arg;
char *opt, *val, *endptr;
@ -251,7 +251,7 @@ static int read_opt(const char *const_line, void *arg)
return retval;
}
static int read_staticlease(const char *const_line, void *arg)
static int FAST_FUNC read_staticlease(const char *const_line, void *arg)
{
char *line;
char *mac_string;
@ -278,7 +278,7 @@ static int read_staticlease(const char *const_line, void *arg)
struct config_keyword {
const char *keyword;
int (*handler)(const char *line, void *var);
int (*handler)(const char *line, void *var) FAST_FUNC;
void *var;
const char *def;
};