diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-06-05 12:06:05 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-06-05 12:06:05 +0200 |
commit | d5f1b1bbe0a881f66b6bb6951fa54e553002c24d (patch) | |
tree | a3da20d19fa86c77e63c08f01d052b196cb1b192 /networking | |
parent | 8507e1f10927bc6498cf38eb8324a53bde8e0a61 (diff) | |
download | busybox-w32-d5f1b1bbe0a881f66b6bb6951fa54e553002c24d.tar.gz busybox-w32-d5f1b1bbe0a881f66b6bb6951fa54e553002c24d.tar.bz2 busybox-w32-d5f1b1bbe0a881f66b6bb6951fa54e553002c24d.zip |
*: 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>
Diffstat (limited to 'networking')
-rw-r--r-- | networking/ifupdown.c | 51 | ||||
-rw-r--r-- | networking/inetd.c | 44 | ||||
-rw-r--r-- | networking/libiproute/ipaddress.c | 7 | ||||
-rw-r--r-- | networking/libiproute/iproute.c | 2 | ||||
-rw-r--r-- | networking/libiproute/iprule.c | 2 | ||||
-rw-r--r-- | networking/libiproute/libnetlink.c | 12 | ||||
-rw-r--r-- | networking/libiproute/libnetlink.h | 10 | ||||
-rw-r--r-- | networking/libiproute/ll_map.c | 12 | ||||
-rw-r--r-- | networking/libiproute/ll_map.h | 12 | ||||
-rw-r--r-- | networking/udhcp/files.c | 16 |
10 files changed, 83 insertions, 85 deletions
diff --git a/networking/ifupdown.c b/networking/ifupdown.c index 604a216d4..6d608105e 100644 --- a/networking/ifupdown.c +++ b/networking/ifupdown.c | |||
@@ -42,8 +42,8 @@ typedef int execfn(char *command); | |||
42 | 42 | ||
43 | struct method_t { | 43 | struct method_t { |
44 | const char *name; | 44 | const char *name; |
45 | int (*up)(struct interface_defn_t *ifd, execfn *e); | 45 | int (*up)(struct interface_defn_t *ifd, execfn *e) FAST_FUNC; |
46 | int (*down)(struct interface_defn_t *ifd, execfn *e); | 46 | int (*down)(struct interface_defn_t *ifd, execfn *e) FAST_FUNC; |
47 | }; | 47 | }; |
48 | 48 | ||
49 | struct address_family_t { | 49 | struct address_family_t { |
@@ -325,7 +325,7 @@ static int execute(const char *command, struct interface_defn_t *ifd, execfn *ex | |||
325 | #endif | 325 | #endif |
326 | 326 | ||
327 | #if ENABLE_FEATURE_IFUPDOWN_IPV6 | 327 | #if ENABLE_FEATURE_IFUPDOWN_IPV6 |
328 | static int loopback_up6(struct interface_defn_t *ifd, execfn *exec) | 328 | static int FAST_FUNC loopback_up6(struct interface_defn_t *ifd, execfn *exec) |
329 | { | 329 | { |
330 | #if ENABLE_FEATURE_IFUPDOWN_IP | 330 | #if ENABLE_FEATURE_IFUPDOWN_IP |
331 | int result; | 331 | int result; |
@@ -337,7 +337,7 @@ static int loopback_up6(struct interface_defn_t *ifd, execfn *exec) | |||
337 | #endif | 337 | #endif |
338 | } | 338 | } |
339 | 339 | ||
340 | static int loopback_down6(struct interface_defn_t *ifd, execfn *exec) | 340 | static int FAST_FUNC loopback_down6(struct interface_defn_t *ifd, execfn *exec) |
341 | { | 341 | { |
342 | #if ENABLE_FEATURE_IFUPDOWN_IP | 342 | #if ENABLE_FEATURE_IFUPDOWN_IP |
343 | return execute("ip link set %iface% down", ifd, exec); | 343 | return execute("ip link set %iface% down", ifd, exec); |
@@ -346,7 +346,7 @@ static int loopback_down6(struct interface_defn_t *ifd, execfn *exec) | |||
346 | #endif | 346 | #endif |
347 | } | 347 | } |
348 | 348 | ||
349 | static int static_up6(struct interface_defn_t *ifd, execfn *exec) | 349 | static int FAST_FUNC static_up6(struct interface_defn_t *ifd, execfn *exec) |
350 | { | 350 | { |
351 | int result; | 351 | int result; |
352 | #if ENABLE_FEATURE_IFUPDOWN_IP | 352 | #if ENABLE_FEATURE_IFUPDOWN_IP |
@@ -362,7 +362,7 @@ static int static_up6(struct interface_defn_t *ifd, execfn *exec) | |||
362 | return ((result == 3) ? 3 : 0); | 362 | return ((result == 3) ? 3 : 0); |
363 | } | 363 | } |
364 | 364 | ||
365 | static int static_down6(struct interface_defn_t *ifd, execfn *exec) | 365 | static int FAST_FUNC static_down6(struct interface_defn_t *ifd, execfn *exec) |
366 | { | 366 | { |
367 | #if ENABLE_FEATURE_IFUPDOWN_IP | 367 | #if ENABLE_FEATURE_IFUPDOWN_IP |
368 | return execute("ip link set %iface% down", ifd, exec); | 368 | return execute("ip link set %iface% down", ifd, exec); |
@@ -372,7 +372,7 @@ static int static_down6(struct interface_defn_t *ifd, execfn *exec) | |||
372 | } | 372 | } |
373 | 373 | ||
374 | #if ENABLE_FEATURE_IFUPDOWN_IP | 374 | #if ENABLE_FEATURE_IFUPDOWN_IP |
375 | static int v4tunnel_up(struct interface_defn_t *ifd, execfn *exec) | 375 | static int FAST_FUNC v4tunnel_up(struct interface_defn_t *ifd, execfn *exec) |
376 | { | 376 | { |
377 | int result; | 377 | int result; |
378 | result = execute("ip tunnel add %iface% mode sit remote " | 378 | result = execute("ip tunnel add %iface% mode sit remote " |
@@ -383,7 +383,7 @@ static int v4tunnel_up(struct interface_defn_t *ifd, execfn *exec) | |||
383 | return ((result == 4) ? 4 : 0); | 383 | return ((result == 4) ? 4 : 0); |
384 | } | 384 | } |
385 | 385 | ||
386 | static int v4tunnel_down(struct interface_defn_t * ifd, execfn * exec) | 386 | static int FAST_FUNC v4tunnel_down(struct interface_defn_t * ifd, execfn * exec) |
387 | { | 387 | { |
388 | return execute("ip tunnel del %iface%", ifd, exec); | 388 | return execute("ip tunnel del %iface%", ifd, exec); |
389 | } | 389 | } |
@@ -405,7 +405,7 @@ static const struct address_family_t addr_inet6 = { | |||
405 | #endif /* FEATURE_IFUPDOWN_IPV6 */ | 405 | #endif /* FEATURE_IFUPDOWN_IPV6 */ |
406 | 406 | ||
407 | #if ENABLE_FEATURE_IFUPDOWN_IPV4 | 407 | #if ENABLE_FEATURE_IFUPDOWN_IPV4 |
408 | static int loopback_up(struct interface_defn_t *ifd, execfn *exec) | 408 | static int FAST_FUNC loopback_up(struct interface_defn_t *ifd, execfn *exec) |
409 | { | 409 | { |
410 | #if ENABLE_FEATURE_IFUPDOWN_IP | 410 | #if ENABLE_FEATURE_IFUPDOWN_IP |
411 | int result; | 411 | int result; |
@@ -417,7 +417,7 @@ static int loopback_up(struct interface_defn_t *ifd, execfn *exec) | |||
417 | #endif | 417 | #endif |
418 | } | 418 | } |
419 | 419 | ||
420 | static int loopback_down(struct interface_defn_t *ifd, execfn *exec) | 420 | static int FAST_FUNC loopback_down(struct interface_defn_t *ifd, execfn *exec) |
421 | { | 421 | { |
422 | #if ENABLE_FEATURE_IFUPDOWN_IP | 422 | #if ENABLE_FEATURE_IFUPDOWN_IP |
423 | int result; | 423 | int result; |
@@ -429,7 +429,7 @@ static int loopback_down(struct interface_defn_t *ifd, execfn *exec) | |||
429 | #endif | 429 | #endif |
430 | } | 430 | } |
431 | 431 | ||
432 | static int static_up(struct interface_defn_t *ifd, execfn *exec) | 432 | static int FAST_FUNC static_up(struct interface_defn_t *ifd, execfn *exec) |
433 | { | 433 | { |
434 | int result; | 434 | int result; |
435 | #if ENABLE_FEATURE_IFUPDOWN_IP | 435 | #if ENABLE_FEATURE_IFUPDOWN_IP |
@@ -451,7 +451,7 @@ static int static_up(struct interface_defn_t *ifd, execfn *exec) | |||
451 | #endif | 451 | #endif |
452 | } | 452 | } |
453 | 453 | ||
454 | static int static_down(struct interface_defn_t *ifd, execfn *exec) | 454 | static int FAST_FUNC static_down(struct interface_defn_t *ifd, execfn *exec) |
455 | { | 455 | { |
456 | int result; | 456 | int result; |
457 | #if ENABLE_FEATURE_IFUPDOWN_IP | 457 | #if ENABLE_FEATURE_IFUPDOWN_IP |
@@ -468,8 +468,7 @@ static int static_down(struct interface_defn_t *ifd, execfn *exec) | |||
468 | } | 468 | } |
469 | 469 | ||
470 | #if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP | 470 | #if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP |
471 | struct dhcp_client_t | 471 | struct dhcp_client_t { |
472 | { | ||
473 | const char *name; | 472 | const char *name; |
474 | const char *startcmd; | 473 | const char *startcmd; |
475 | const char *stopcmd; | 474 | const char *stopcmd; |
@@ -497,7 +496,7 @@ static const struct dhcp_client_t ext_dhcp_clients[] = { | |||
497 | #endif /* ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCPC */ | 496 | #endif /* ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCPC */ |
498 | 497 | ||
499 | #if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP | 498 | #if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP |
500 | static int dhcp_up(struct interface_defn_t *ifd, execfn *exec) | 499 | static int FAST_FUNC dhcp_up(struct interface_defn_t *ifd, execfn *exec) |
501 | { | 500 | { |
502 | unsigned i; | 501 | unsigned i; |
503 | #if ENABLE_FEATURE_IFUPDOWN_IP | 502 | #if ENABLE_FEATURE_IFUPDOWN_IP |
@@ -517,7 +516,7 @@ static int dhcp_up(struct interface_defn_t *ifd, execfn *exec) | |||
517 | return 0; | 516 | return 0; |
518 | } | 517 | } |
519 | #elif ENABLE_APP_UDHCPC | 518 | #elif ENABLE_APP_UDHCPC |
520 | static int dhcp_up(struct interface_defn_t *ifd, execfn *exec) | 519 | static int FAST_FUNC dhcp_up(struct interface_defn_t *ifd, execfn *exec) |
521 | { | 520 | { |
522 | #if ENABLE_FEATURE_IFUPDOWN_IP | 521 | #if ENABLE_FEATURE_IFUPDOWN_IP |
523 | /* ip doesn't up iface when it configures it (unlike ifconfig) */ | 522 | /* 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) | |||
533 | ifd, exec); | 532 | ifd, exec); |
534 | } | 533 | } |
535 | #else | 534 | #else |
536 | static int dhcp_up(struct interface_defn_t *ifd UNUSED_PARAM, | 535 | static int FAST_FUNC dhcp_up(struct interface_defn_t *ifd UNUSED_PARAM, |
537 | execfn *exec UNUSED_PARAM) | 536 | execfn *exec UNUSED_PARAM) |
538 | { | 537 | { |
539 | return 0; /* no dhcp support */ | 538 | return 0; /* no dhcp support */ |
@@ -541,7 +540,7 @@ static int dhcp_up(struct interface_defn_t *ifd UNUSED_PARAM, | |||
541 | #endif | 540 | #endif |
542 | 541 | ||
543 | #if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP | 542 | #if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP |
544 | static int dhcp_down(struct interface_defn_t *ifd, execfn *exec) | 543 | static int FAST_FUNC dhcp_down(struct interface_defn_t *ifd, execfn *exec) |
545 | { | 544 | { |
546 | int result = 0; | 545 | int result = 0; |
547 | unsigned i; | 546 | unsigned i; |
@@ -564,7 +563,7 @@ static int dhcp_down(struct interface_defn_t *ifd, execfn *exec) | |||
564 | return ((result == 3) ? 3 : 0); | 563 | return ((result == 3) ? 3 : 0); |
565 | } | 564 | } |
566 | #elif ENABLE_APP_UDHCPC | 565 | #elif ENABLE_APP_UDHCPC |
567 | static int dhcp_down(struct interface_defn_t *ifd, execfn *exec) | 566 | static int FAST_FUNC dhcp_down(struct interface_defn_t *ifd, execfn *exec) |
568 | { | 567 | { |
569 | int result; | 568 | int result; |
570 | result = execute("kill " | 569 | result = execute("kill " |
@@ -579,42 +578,42 @@ static int dhcp_down(struct interface_defn_t *ifd, execfn *exec) | |||
579 | return ((result == 3) ? 3 : 0); | 578 | return ((result == 3) ? 3 : 0); |
580 | } | 579 | } |
581 | #else | 580 | #else |
582 | static int dhcp_down(struct interface_defn_t *ifd UNUSED_PARAM, | 581 | static int FAST_FUNC dhcp_down(struct interface_defn_t *ifd UNUSED_PARAM, |
583 | execfn *exec UNUSED_PARAM) | 582 | execfn *exec UNUSED_PARAM) |
584 | { | 583 | { |
585 | return 0; /* no dhcp support */ | 584 | return 0; /* no dhcp support */ |
586 | } | 585 | } |
587 | #endif | 586 | #endif |
588 | 587 | ||
589 | static int manual_up_down(struct interface_defn_t *ifd UNUSED_PARAM, execfn *exec UNUSED_PARAM) | 588 | static int FAST_FUNC manual_up_down(struct interface_defn_t *ifd UNUSED_PARAM, execfn *exec UNUSED_PARAM) |
590 | { | 589 | { |
591 | return 1; | 590 | return 1; |
592 | } | 591 | } |
593 | 592 | ||
594 | static int bootp_up(struct interface_defn_t *ifd, execfn *exec) | 593 | static int FAST_FUNC bootp_up(struct interface_defn_t *ifd, execfn *exec) |
595 | { | 594 | { |
596 | return execute("bootpc[[ --bootfile %bootfile%]] --dev %iface%" | 595 | return execute("bootpc[[ --bootfile %bootfile%]] --dev %iface%" |
597 | "[[ --server %server%]][[ --hwaddr %hwaddr%]]" | 596 | "[[ --server %server%]][[ --hwaddr %hwaddr%]]" |
598 | " --returniffail --serverbcast", ifd, exec); | 597 | " --returniffail --serverbcast", ifd, exec); |
599 | } | 598 | } |
600 | 599 | ||
601 | static int ppp_up(struct interface_defn_t *ifd, execfn *exec) | 600 | static int FAST_FUNC ppp_up(struct interface_defn_t *ifd, execfn *exec) |
602 | { | 601 | { |
603 | return execute("pon[[ %provider%]]", ifd, exec); | 602 | return execute("pon[[ %provider%]]", ifd, exec); |
604 | } | 603 | } |
605 | 604 | ||
606 | static int ppp_down(struct interface_defn_t *ifd, execfn *exec) | 605 | static int FAST_FUNC ppp_down(struct interface_defn_t *ifd, execfn *exec) |
607 | { | 606 | { |
608 | return execute("poff[[ %provider%]]", ifd, exec); | 607 | return execute("poff[[ %provider%]]", ifd, exec); |
609 | } | 608 | } |
610 | 609 | ||
611 | static int wvdial_up(struct interface_defn_t *ifd, execfn *exec) | 610 | static int FAST_FUNC wvdial_up(struct interface_defn_t *ifd, execfn *exec) |
612 | { | 611 | { |
613 | return execute("start-stop-daemon --start -x wvdial " | 612 | return execute("start-stop-daemon --start -x wvdial " |
614 | "-p /var/run/wvdial.%iface% -b -m --[[ %provider%]]", ifd, exec); | 613 | "-p /var/run/wvdial.%iface% -b -m --[[ %provider%]]", ifd, exec); |
615 | } | 614 | } |
616 | 615 | ||
617 | static int wvdial_down(struct interface_defn_t *ifd, execfn *exec) | 616 | static int FAST_FUNC wvdial_down(struct interface_defn_t *ifd, execfn *exec) |
618 | { | 617 | { |
619 | return execute("start-stop-daemon --stop -x wvdial " | 618 | return execute("start-stop-daemon --stop -x wvdial " |
620 | "-p /var/run/wvdial.%iface% -s 2", ifd, exec); | 619 | "-p /var/run/wvdial.%iface% -s 2", ifd, exec); |
diff --git a/networking/inetd.c b/networking/inetd.c index 751010bc8..031edc397 100644 --- a/networking/inetd.c +++ b/networking/inetd.c | |||
@@ -239,36 +239,36 @@ typedef struct servtab_t { | |||
239 | #ifdef INETD_BUILTINS_ENABLED | 239 | #ifdef INETD_BUILTINS_ENABLED |
240 | /* Echo received data */ | 240 | /* Echo received data */ |
241 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_ECHO | 241 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_ECHO |
242 | static void echo_stream(int, servtab_t *); | 242 | static void FAST_FUNC echo_stream(int, servtab_t *); |
243 | static void echo_dg(int, servtab_t *); | 243 | static void FAST_FUNC echo_dg(int, servtab_t *); |
244 | #endif | 244 | #endif |
245 | /* Internet /dev/null */ | 245 | /* Internet /dev/null */ |
246 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD | 246 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD |
247 | static void discard_stream(int, servtab_t *); | 247 | static void FAST_FUNC discard_stream(int, servtab_t *); |
248 | static void discard_dg(int, servtab_t *); | 248 | static void FAST_FUNC discard_dg(int, servtab_t *); |
249 | #endif | 249 | #endif |
250 | /* Return 32 bit time since 1900 */ | 250 | /* Return 32 bit time since 1900 */ |
251 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_TIME | 251 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_TIME |
252 | static void machtime_stream(int, servtab_t *); | 252 | static void FAST_FUNC machtime_stream(int, servtab_t *); |
253 | static void machtime_dg(int, servtab_t *); | 253 | static void FAST_FUNC machtime_dg(int, servtab_t *); |
254 | #endif | 254 | #endif |
255 | /* Return human-readable time */ | 255 | /* Return human-readable time */ |
256 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME | 256 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME |
257 | static void daytime_stream(int, servtab_t *); | 257 | static void FAST_FUNC daytime_stream(int, servtab_t *); |
258 | static void daytime_dg(int, servtab_t *); | 258 | static void FAST_FUNC daytime_dg(int, servtab_t *); |
259 | #endif | 259 | #endif |
260 | /* Familiar character generator */ | 260 | /* Familiar character generator */ |
261 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN | 261 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN |
262 | static void chargen_stream(int, servtab_t *); | 262 | static void FAST_FUNC chargen_stream(int, servtab_t *); |
263 | static void chargen_dg(int, servtab_t *); | 263 | static void FAST_FUNC chargen_dg(int, servtab_t *); |
264 | #endif | 264 | #endif |
265 | 265 | ||
266 | struct builtin { | 266 | struct builtin { |
267 | /* NB: not necessarily NUL terminated */ | 267 | /* NB: not necessarily NUL terminated */ |
268 | char bi_service7[7]; /* internally provided service name */ | 268 | char bi_service7[7]; /* internally provided service name */ |
269 | uint8_t bi_fork; /* 1 if stream fn should run in child */ | 269 | uint8_t bi_fork; /* 1 if stream fn should run in child */ |
270 | void (*bi_stream_fn)(int, servtab_t *); | 270 | void (*bi_stream_fn)(int, servtab_t *) FAST_FUNC; |
271 | void (*bi_dgram_fn)(int, servtab_t *); | 271 | void (*bi_dgram_fn)(int, servtab_t *) FAST_FUNC; |
272 | }; | 272 | }; |
273 | 273 | ||
274 | static const struct builtin builtins[] = { | 274 | static const struct builtin builtins[] = { |
@@ -1386,7 +1386,7 @@ static const char *const cat_args[] = { "cat", NULL }; | |||
1386 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_ECHO | 1386 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_ECHO |
1387 | /* Echo service -- echo data back. */ | 1387 | /* Echo service -- echo data back. */ |
1388 | /* ARGSUSED */ | 1388 | /* ARGSUSED */ |
1389 | static void echo_stream(int s, servtab_t *sep UNUSED_PARAM) | 1389 | static void FAST_FUNC echo_stream(int s, servtab_t *sep UNUSED_PARAM) |
1390 | { | 1390 | { |
1391 | #if BB_MMU | 1391 | #if BB_MMU |
1392 | while (1) { | 1392 | while (1) { |
@@ -1407,7 +1407,7 @@ static void echo_stream(int s, servtab_t *sep UNUSED_PARAM) | |||
1407 | /* on failure we return to main, which does exit(EXIT_FAILURE) */ | 1407 | /* on failure we return to main, which does exit(EXIT_FAILURE) */ |
1408 | #endif | 1408 | #endif |
1409 | } | 1409 | } |
1410 | static void echo_dg(int s, servtab_t *sep) | 1410 | static void FAST_FUNC echo_dg(int s, servtab_t *sep) |
1411 | { | 1411 | { |
1412 | enum { BUFSIZE = 12*1024 }; /* for jumbo sized packets! :) */ | 1412 | enum { BUFSIZE = 12*1024 }; /* for jumbo sized packets! :) */ |
1413 | char *buf = xmalloc(BUFSIZE); /* too big for stack */ | 1413 | char *buf = xmalloc(BUFSIZE); /* too big for stack */ |
@@ -1427,7 +1427,7 @@ static void echo_dg(int s, servtab_t *sep) | |||
1427 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD | 1427 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD |
1428 | /* Discard service -- ignore data. */ | 1428 | /* Discard service -- ignore data. */ |
1429 | /* ARGSUSED */ | 1429 | /* ARGSUSED */ |
1430 | static void discard_stream(int s, servtab_t *sep UNUSED_PARAM) | 1430 | static void FAST_FUNC discard_stream(int s, servtab_t *sep UNUSED_PARAM) |
1431 | { | 1431 | { |
1432 | #if BB_MMU | 1432 | #if BB_MMU |
1433 | while (safe_read(s, line, LINE_SIZE) > 0) | 1433 | while (safe_read(s, line, LINE_SIZE) > 0) |
@@ -1446,7 +1446,7 @@ static void discard_stream(int s, servtab_t *sep UNUSED_PARAM) | |||
1446 | #endif | 1446 | #endif |
1447 | } | 1447 | } |
1448 | /* ARGSUSED */ | 1448 | /* ARGSUSED */ |
1449 | static void discard_dg(int s, servtab_t *sep UNUSED_PARAM) | 1449 | static void FAST_FUNC discard_dg(int s, servtab_t *sep UNUSED_PARAM) |
1450 | { | 1450 | { |
1451 | /* dgram builtins are non-forking - DONT BLOCK! */ | 1451 | /* dgram builtins are non-forking - DONT BLOCK! */ |
1452 | recv(s, line, LINE_SIZE, MSG_DONTWAIT); | 1452 | recv(s, line, LINE_SIZE, MSG_DONTWAIT); |
@@ -1467,7 +1467,7 @@ static void init_ring(void) | |||
1467 | } | 1467 | } |
1468 | /* Character generator. MMU arches only. */ | 1468 | /* Character generator. MMU arches only. */ |
1469 | /* ARGSUSED */ | 1469 | /* ARGSUSED */ |
1470 | static void chargen_stream(int s, servtab_t *sep UNUSED_PARAM) | 1470 | static void FAST_FUNC chargen_stream(int s, servtab_t *sep UNUSED_PARAM) |
1471 | { | 1471 | { |
1472 | char *rs; | 1472 | char *rs; |
1473 | int len; | 1473 | int len; |
@@ -1495,7 +1495,7 @@ static void chargen_stream(int s, servtab_t *sep UNUSED_PARAM) | |||
1495 | } | 1495 | } |
1496 | } | 1496 | } |
1497 | /* ARGSUSED */ | 1497 | /* ARGSUSED */ |
1498 | static void chargen_dg(int s, servtab_t *sep) | 1498 | static void FAST_FUNC chargen_dg(int s, servtab_t *sep) |
1499 | { | 1499 | { |
1500 | int len; | 1500 | int len; |
1501 | char text[LINESIZ + 2]; | 1501 | char text[LINESIZ + 2]; |
@@ -1544,14 +1544,14 @@ static uint32_t machtime(void) | |||
1544 | return htonl((uint32_t)(tv.tv_sec + 2208988800)); | 1544 | return htonl((uint32_t)(tv.tv_sec + 2208988800)); |
1545 | } | 1545 | } |
1546 | /* ARGSUSED */ | 1546 | /* ARGSUSED */ |
1547 | static void machtime_stream(int s, servtab_t *sep UNUSED_PARAM) | 1547 | static void FAST_FUNC machtime_stream(int s, servtab_t *sep UNUSED_PARAM) |
1548 | { | 1548 | { |
1549 | uint32_t result; | 1549 | uint32_t result; |
1550 | 1550 | ||
1551 | result = machtime(); | 1551 | result = machtime(); |
1552 | full_write(s, &result, sizeof(result)); | 1552 | full_write(s, &result, sizeof(result)); |
1553 | } | 1553 | } |
1554 | static void machtime_dg(int s, servtab_t *sep) | 1554 | static void FAST_FUNC machtime_dg(int s, servtab_t *sep) |
1555 | { | 1555 | { |
1556 | uint32_t result; | 1556 | uint32_t result; |
1557 | len_and_sockaddr *lsa = alloca(LSA_LEN_SIZE + sep->se_lsa->len); | 1557 | 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) | |||
1569 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME | 1569 | #if ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME |
1570 | /* Return human-readable time of day */ | 1570 | /* Return human-readable time of day */ |
1571 | /* ARGSUSED */ | 1571 | /* ARGSUSED */ |
1572 | static void daytime_stream(int s, servtab_t *sep UNUSED_PARAM) | 1572 | static void FAST_FUNC daytime_stream(int s, servtab_t *sep UNUSED_PARAM) |
1573 | { | 1573 | { |
1574 | time_t t; | 1574 | time_t t; |
1575 | 1575 | ||
1576 | t = time(NULL); | 1576 | t = time(NULL); |
1577 | fdprintf(s, "%.24s\r\n", ctime(&t)); | 1577 | fdprintf(s, "%.24s\r\n", ctime(&t)); |
1578 | } | 1578 | } |
1579 | static void daytime_dg(int s, servtab_t *sep) | 1579 | static void FAST_FUNC daytime_dg(int s, servtab_t *sep) |
1580 | { | 1580 | { |
1581 | time_t t; | 1581 | time_t t; |
1582 | len_and_sockaddr *lsa = alloca(LSA_LEN_SIZE + sep->se_lsa->len); | 1582 | len_and_sockaddr *lsa = alloca(LSA_LEN_SIZE + sep->se_lsa->len); |
diff --git a/networking/libiproute/ipaddress.c b/networking/libiproute/ipaddress.c index 644874f46..d042af07b 100644 --- a/networking/libiproute/ipaddress.c +++ b/networking/libiproute/ipaddress.c | |||
@@ -196,7 +196,7 @@ static int flush_update(void) | |||
196 | return 0; | 196 | return 0; |
197 | } | 197 | } |
198 | 198 | ||
199 | static int print_addrinfo(const struct sockaddr_nl *who UNUSED_PARAM, | 199 | static int FAST_FUNC print_addrinfo(const struct sockaddr_nl *who UNUSED_PARAM, |
200 | struct nlmsghdr *n, void *arg UNUSED_PARAM) | 200 | struct nlmsghdr *n, void *arg UNUSED_PARAM) |
201 | { | 201 | { |
202 | struct ifaddrmsg *ifa = NLMSG_DATA(n); | 202 | struct ifaddrmsg *ifa = NLMSG_DATA(n); |
@@ -349,8 +349,7 @@ static int print_addrinfo(const struct sockaddr_nl *who UNUSED_PARAM, | |||
349 | } | 349 | } |
350 | 350 | ||
351 | 351 | ||
352 | struct nlmsg_list | 352 | struct nlmsg_list { |
353 | { | ||
354 | struct nlmsg_list *next; | 353 | struct nlmsg_list *next; |
355 | struct nlmsghdr h; | 354 | struct nlmsghdr h; |
356 | }; | 355 | }; |
@@ -377,7 +376,7 @@ static int print_selected_addrinfo(int ifindex, struct nlmsg_list *ainfo) | |||
377 | } | 376 | } |
378 | 377 | ||
379 | 378 | ||
380 | static int store_nlmsg(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) | 379 | static int FAST_FUNC store_nlmsg(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) |
381 | { | 380 | { |
382 | struct nlmsg_list **linfo = (struct nlmsg_list**)arg; | 381 | struct nlmsg_list **linfo = (struct nlmsg_list**)arg; |
383 | struct nlmsg_list *h; | 382 | struct nlmsg_list *h; |
diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c index 37859525d..ac7eec598 100644 --- a/networking/libiproute/iproute.c +++ b/networking/libiproute/iproute.c | |||
@@ -78,7 +78,7 @@ static unsigned get_hz(void) | |||
78 | return hz_internal; | 78 | return hz_internal; |
79 | } | 79 | } |
80 | 80 | ||
81 | static int print_route(const struct sockaddr_nl *who UNUSED_PARAM, | 81 | static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM, |
82 | struct nlmsghdr *n, void *arg UNUSED_PARAM) | 82 | struct nlmsghdr *n, void *arg UNUSED_PARAM) |
83 | { | 83 | { |
84 | struct rtmsg *r = NLMSG_DATA(n); | 84 | struct rtmsg *r = NLMSG_DATA(n); |
diff --git a/networking/libiproute/iprule.c b/networking/libiproute/iprule.c index 6c90c6d21..bec530dcb 100644 --- a/networking/libiproute/iprule.c +++ b/networking/libiproute/iprule.c | |||
@@ -40,7 +40,7 @@ static void usage(void) | |||
40 | } | 40 | } |
41 | */ | 41 | */ |
42 | 42 | ||
43 | static int print_rule(const struct sockaddr_nl *who UNUSED_PARAM, | 43 | static int FAST_FUNC print_rule(const struct sockaddr_nl *who UNUSED_PARAM, |
44 | struct nlmsghdr *n, void *arg UNUSED_PARAM) | 44 | struct nlmsghdr *n, void *arg UNUSED_PARAM) |
45 | { | 45 | { |
46 | struct rtmsg *r = NLMSG_DATA(n); | 46 | struct rtmsg *r = NLMSG_DATA(n); |
diff --git a/networking/libiproute/libnetlink.c b/networking/libiproute/libnetlink.c index 7ad2de9fa..b4cc8dfa4 100644 --- a/networking/libiproute/libnetlink.c +++ b/networking/libiproute/libnetlink.c | |||
@@ -104,7 +104,7 @@ int FAST_FUNC rtnl_dump_request(struct rtnl_handle *rth, int type, void *req, in | |||
104 | } | 104 | } |
105 | 105 | ||
106 | static int rtnl_dump_filter(struct rtnl_handle *rth, | 106 | static int rtnl_dump_filter(struct rtnl_handle *rth, |
107 | int (*filter)(const struct sockaddr_nl *, struct nlmsghdr *n, void *), | 107 | int (*filter)(const struct sockaddr_nl *, struct nlmsghdr *n, void *) FAST_FUNC, |
108 | void *arg1/*, | 108 | void *arg1/*, |
109 | int (*junk)(struct sockaddr_nl *, struct nlmsghdr *n, void *), | 109 | int (*junk)(struct sockaddr_nl *, struct nlmsghdr *n, void *), |
110 | void *arg2*/) | 110 | void *arg2*/) |
@@ -196,7 +196,7 @@ static int rtnl_dump_filter(struct rtnl_handle *rth, | |||
196 | } | 196 | } |
197 | 197 | ||
198 | int FAST_FUNC xrtnl_dump_filter(struct rtnl_handle *rth, | 198 | int FAST_FUNC xrtnl_dump_filter(struct rtnl_handle *rth, |
199 | int (*filter)(const struct sockaddr_nl *, struct nlmsghdr *, void *), | 199 | int (*filter)(const struct sockaddr_nl *, struct nlmsghdr *, void *) FAST_FUNC, |
200 | void *arg1) | 200 | void *arg1) |
201 | { | 201 | { |
202 | int ret = rtnl_dump_filter(rth, filter, arg1/*, NULL, NULL*/); | 202 | int ret = rtnl_dump_filter(rth, filter, arg1/*, NULL, NULL*/); |
@@ -206,10 +206,10 @@ int FAST_FUNC xrtnl_dump_filter(struct rtnl_handle *rth, | |||
206 | } | 206 | } |
207 | 207 | ||
208 | int FAST_FUNC rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, | 208 | int FAST_FUNC rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, |
209 | pid_t peer, unsigned groups, | 209 | pid_t peer, unsigned groups, |
210 | struct nlmsghdr *answer, | 210 | struct nlmsghdr *answer, |
211 | int (*junk)(struct sockaddr_nl *, struct nlmsghdr *, void *), | 211 | int (*junk)(struct sockaddr_nl *, struct nlmsghdr *, void *), |
212 | void *jarg) | 212 | void *jarg) |
213 | { | 213 | { |
214 | /* bbox doesn't use parameters no. 3, 4, 6, 7, they are stubbed out */ | 214 | /* bbox doesn't use parameters no. 3, 4, 6, 7, they are stubbed out */ |
215 | #define peer 0 | 215 | #define peer 0 |
diff --git a/networking/libiproute/libnetlink.h b/networking/libiproute/libnetlink.h index 11a4a100a..41ecfa6d0 100644 --- a/networking/libiproute/libnetlink.h +++ b/networking/libiproute/libnetlink.h | |||
@@ -23,16 +23,16 @@ extern void rtnl_close(struct rtnl_handle *rth) FAST_FUNC; | |||
23 | extern int xrtnl_wilddump_request(struct rtnl_handle *rth, int fam, int type) FAST_FUNC; | 23 | extern int xrtnl_wilddump_request(struct rtnl_handle *rth, int fam, int type) FAST_FUNC; |
24 | extern int rtnl_dump_request(struct rtnl_handle *rth, int type, void *req, int len) FAST_FUNC; | 24 | extern int rtnl_dump_request(struct rtnl_handle *rth, int type, void *req, int len) FAST_FUNC; |
25 | extern int xrtnl_dump_filter(struct rtnl_handle *rth, | 25 | extern int xrtnl_dump_filter(struct rtnl_handle *rth, |
26 | int (*filter)(const struct sockaddr_nl*, struct nlmsghdr *n, void*), | 26 | int (*filter)(const struct sockaddr_nl*, struct nlmsghdr *n, void*) FAST_FUNC, |
27 | void *arg1) FAST_FUNC; | 27 | void *arg1) FAST_FUNC; |
28 | 28 | ||
29 | /* bbox doesn't use parameters no. 3, 4, 6, 7, stub them out */ | 29 | /* bbox doesn't use parameters no. 3, 4, 6, 7, stub them out */ |
30 | #define rtnl_talk(rtnl, n, peer, groups, answer, junk, jarg) \ | 30 | #define rtnl_talk(rtnl, n, peer, groups, answer, junk, jarg) \ |
31 | rtnl_talk(rtnl, n, answer) | 31 | rtnl_talk(rtnl, n, answer) |
32 | extern int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, pid_t peer, | 32 | extern int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, pid_t peer, |
33 | unsigned groups, struct nlmsghdr *answer, | 33 | unsigned groups, struct nlmsghdr *answer, |
34 | int (*junk)(struct sockaddr_nl *,struct nlmsghdr *n, void *), | 34 | int (*junk)(struct sockaddr_nl *,struct nlmsghdr *n, void *), |
35 | void *jarg) FAST_FUNC; | 35 | void *jarg) FAST_FUNC; |
36 | 36 | ||
37 | extern int rtnl_send(struct rtnl_handle *rth, char *buf, int) FAST_FUNC; | 37 | extern int rtnl_send(struct rtnl_handle *rth, char *buf, int) FAST_FUNC; |
38 | 38 | ||
diff --git a/networking/libiproute/ll_map.c b/networking/libiproute/ll_map.c index 951496f4d..62528cc83 100644 --- a/networking/libiproute/ll_map.c +++ b/networking/libiproute/ll_map.c | |||
@@ -39,7 +39,7 @@ static struct idxmap *find_by_index(int idx) | |||
39 | return NULL; | 39 | return NULL; |
40 | } | 40 | } |
41 | 41 | ||
42 | int ll_remember_index(const struct sockaddr_nl *who UNUSED_PARAM, | 42 | int FAST_FUNC ll_remember_index(const struct sockaddr_nl *who UNUSED_PARAM, |
43 | struct nlmsghdr *n, | 43 | struct nlmsghdr *n, |
44 | void *arg UNUSED_PARAM) | 44 | void *arg UNUSED_PARAM) |
45 | { | 45 | { |
@@ -86,7 +86,7 @@ int ll_remember_index(const struct sockaddr_nl *who UNUSED_PARAM, | |||
86 | return 0; | 86 | return 0; |
87 | } | 87 | } |
88 | 88 | ||
89 | const char *ll_idx_n2a(int idx, char *buf) | 89 | const char FAST_FUNC *ll_idx_n2a(int idx, char *buf) |
90 | { | 90 | { |
91 | struct idxmap *im; | 91 | struct idxmap *im; |
92 | 92 | ||
@@ -100,7 +100,7 @@ const char *ll_idx_n2a(int idx, char *buf) | |||
100 | } | 100 | } |
101 | 101 | ||
102 | 102 | ||
103 | const char *ll_index_to_name(int idx) | 103 | const char FAST_FUNC *ll_index_to_name(int idx) |
104 | { | 104 | { |
105 | static char nbuf[16]; | 105 | static char nbuf[16]; |
106 | 106 | ||
@@ -121,7 +121,7 @@ int ll_index_to_type(int idx) | |||
121 | } | 121 | } |
122 | #endif | 122 | #endif |
123 | 123 | ||
124 | unsigned ll_index_to_flags(int idx) | 124 | unsigned FAST_FUNC ll_index_to_flags(int idx) |
125 | { | 125 | { |
126 | struct idxmap *im; | 126 | struct idxmap *im; |
127 | 127 | ||
@@ -133,7 +133,7 @@ unsigned ll_index_to_flags(int idx) | |||
133 | return 0; | 133 | return 0; |
134 | } | 134 | } |
135 | 135 | ||
136 | int xll_name_to_index(const char *name) | 136 | int FAST_FUNC xll_name_to_index(const char *name) |
137 | { | 137 | { |
138 | int ret = 0; | 138 | int ret = 0; |
139 | int sock_fd; | 139 | int sock_fd; |
@@ -192,7 +192,7 @@ int xll_name_to_index(const char *name) | |||
192 | return ret; | 192 | return ret; |
193 | } | 193 | } |
194 | 194 | ||
195 | int ll_init_map(struct rtnl_handle *rth) | 195 | int FAST_FUNC ll_init_map(struct rtnl_handle *rth) |
196 | { | 196 | { |
197 | xrtnl_wilddump_request(rth, AF_UNSPEC, RTM_GETLINK); | 197 | xrtnl_wilddump_request(rth, AF_UNSPEC, RTM_GETLINK); |
198 | xrtnl_dump_filter(rth, ll_remember_index, &idxmap); | 198 | xrtnl_dump_filter(rth, ll_remember_index, &idxmap); |
diff --git a/networking/libiproute/ll_map.h b/networking/libiproute/ll_map.h index b183cd6c6..c5d383422 100644 --- a/networking/libiproute/ll_map.h +++ b/networking/libiproute/ll_map.h | |||
@@ -4,13 +4,13 @@ | |||
4 | 4 | ||
5 | PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN | 5 | PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN |
6 | 6 | ||
7 | int ll_remember_index(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg); | 7 | int ll_remember_index(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) FAST_FUNC; |
8 | int ll_init_map(struct rtnl_handle *rth); | 8 | int ll_init_map(struct rtnl_handle *rth) FAST_FUNC; |
9 | int xll_name_to_index(const char *name); | 9 | int xll_name_to_index(const char *name) FAST_FUNC; |
10 | const char *ll_index_to_name(int idx); | 10 | const char *ll_index_to_name(int idx) FAST_FUNC; |
11 | const char *ll_idx_n2a(int idx, char *buf); | 11 | const char *ll_idx_n2a(int idx, char *buf) FAST_FUNC; |
12 | /* int ll_index_to_type(int idx); */ | 12 | /* int ll_index_to_type(int idx); */ |
13 | unsigned ll_index_to_flags(int idx); | 13 | unsigned ll_index_to_flags(int idx) FAST_FUNC; |
14 | 14 | ||
15 | POP_SAVED_FUNCTION_VISIBILITY | 15 | POP_SAVED_FUNCTION_VISIBILITY |
16 | 16 | ||
diff --git a/networking/udhcp/files.c b/networking/udhcp/files.c index b13897608..af7730890 100644 --- a/networking/udhcp/files.c +++ b/networking/udhcp/files.c | |||
@@ -24,7 +24,7 @@ static inline uint64_t hton64(uint64_t v) | |||
24 | 24 | ||
25 | 25 | ||
26 | /* on these functions, make sure your datatype matches */ | 26 | /* on these functions, make sure your datatype matches */ |
27 | static int read_ip(const char *line, void *arg) | 27 | static int FAST_FUNC read_ip(const char *line, void *arg) |
28 | { | 28 | { |
29 | len_and_sockaddr *lsa; | 29 | len_and_sockaddr *lsa; |
30 | 30 | ||
@@ -37,13 +37,13 @@ static int read_ip(const char *line, void *arg) | |||
37 | } | 37 | } |
38 | 38 | ||
39 | 39 | ||
40 | static int read_mac(const char *line, void *arg) | 40 | static int FAST_FUNC read_mac(const char *line, void *arg) |
41 | { | 41 | { |
42 | return NULL == ether_aton_r(line, (struct ether_addr *)arg); | 42 | return NULL == ether_aton_r(line, (struct ether_addr *)arg); |
43 | } | 43 | } |
44 | 44 | ||
45 | 45 | ||
46 | static int read_str(const char *line, void *arg) | 46 | static int FAST_FUNC read_str(const char *line, void *arg) |
47 | { | 47 | { |
48 | char **dest = arg; | 48 | char **dest = arg; |
49 | 49 | ||
@@ -53,14 +53,14 @@ static int read_str(const char *line, void *arg) | |||
53 | } | 53 | } |
54 | 54 | ||
55 | 55 | ||
56 | static int read_u32(const char *line, void *arg) | 56 | static int FAST_FUNC read_u32(const char *line, void *arg) |
57 | { | 57 | { |
58 | *(uint32_t*)arg = bb_strtou32(line, NULL, 10); | 58 | *(uint32_t*)arg = bb_strtou32(line, NULL, 10); |
59 | return errno == 0; | 59 | return errno == 0; |
60 | } | 60 | } |
61 | 61 | ||
62 | 62 | ||
63 | static int read_yn(const char *line, void *arg) | 63 | static int FAST_FUNC read_yn(const char *line, void *arg) |
64 | { | 64 | { |
65 | char *dest = arg; | 65 | char *dest = arg; |
66 | 66 | ||
@@ -156,7 +156,7 @@ static void attach_option(struct option_set **opt_list, | |||
156 | 156 | ||
157 | 157 | ||
158 | /* read a dhcp option and add it to opt_list */ | 158 | /* read a dhcp option and add it to opt_list */ |
159 | static int read_opt(const char *const_line, void *arg) | 159 | static int FAST_FUNC read_opt(const char *const_line, void *arg) |
160 | { | 160 | { |
161 | struct option_set **opt_list = arg; | 161 | struct option_set **opt_list = arg; |
162 | char *opt, *val, *endptr; | 162 | char *opt, *val, *endptr; |
@@ -251,7 +251,7 @@ static int read_opt(const char *const_line, void *arg) | |||
251 | return retval; | 251 | return retval; |
252 | } | 252 | } |
253 | 253 | ||
254 | static int read_staticlease(const char *const_line, void *arg) | 254 | static int FAST_FUNC read_staticlease(const char *const_line, void *arg) |
255 | { | 255 | { |
256 | char *line; | 256 | char *line; |
257 | char *mac_string; | 257 | char *mac_string; |
@@ -278,7 +278,7 @@ static int read_staticlease(const char *const_line, void *arg) | |||
278 | 278 | ||
279 | struct config_keyword { | 279 | struct config_keyword { |
280 | const char *keyword; | 280 | const char *keyword; |
281 | int (*handler)(const char *line, void *var); | 281 | int (*handler)(const char *line, void *var) FAST_FUNC; |
282 | void *var; | 282 | void *var; |
283 | const char *def; | 283 | const char *def; |
284 | }; | 284 | }; |