This is an automated email from the ASF dual-hosted git repository. xiaoxiang781216 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit d9f1f5fc95e62026ed54a928e322026b1d0ca497 Author: Marco Casaroli <[email protected]> AuthorDate: Tue Oct 27 17:16:43 2026 +0100 include: Declare the global data with extern instead of EXTERN. The 20 headers of include/ that declare global data used the macro EXTERN (extern "C" for C++, extern for C) and undefined it at their end. The declarations are inside the extern "C" block of the header, so plain extern gives them C linkage in C++ too: the macro adds nothing. But EXTERN is not a reserved name. A program that defines its own EXTERN (Tcl's tcl.h) lost it when it included one of these headers after the definition, and time.h is one of them: stdio.h, signal.h, pthread.h and sys/stat.h include it. Declare the data with extern, as other C libraries do, and remove the definitions of EXTERN from these headers. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Marco Casaroli <[email protected]> --- include/netdb.h | 6 +----- include/netinet/in.h | 9 ++------- include/nuttx/arch.h | 11 +++-------- include/nuttx/init.h | 6 +----- include/nuttx/lib/builtin.h | 8 ++------ include/nuttx/mm/mm.h | 9 ++------- include/nuttx/mtd/nand_model.h | 6 +----- include/nuttx/mtd/nand_ram.h | 10 +++------- include/nuttx/mtd/nand_scheme.h | 12 ++++-------- include/nuttx/net/ethernet.h | 8 ++------ include/nuttx/net/loopback.h | 14 +++++--------- include/nuttx/pthread.h | 6 +----- include/nuttx/sched.h | 17 ++++++----------- include/nuttx/usb/usbdev_trace.h | 15 +++++---------- include/nuttx/wireless/cc1101.h | 11 +++-------- include/nuttx/wireless/ieee802154/ieee802154_mac.h | 6 +----- include/nuttx/zoneinfo.h | 8 ++------ include/sys/syscall.h | 8 ++------ include/time.h | 11 +++-------- include/unistd.h | 13 ++++--------- 20 files changed, 53 insertions(+), 141 deletions(-) diff --git a/include/netdb.h b/include/netdb.h index cf4bb7bddf3..1c30080c2ae 100644 --- a/include/netdb.h +++ b/include/netdb.h @@ -258,11 +258,8 @@ struct addrinfo ****************************************************************************/ #ifdef __cplusplus -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif /* When the <netdb.h> header is included, h_errno shall be available as a @@ -275,7 +272,7 @@ extern "C" /* REVISIT: This should at least be per-task? */ -EXTERN int h_errno; +extern int h_errno; /**************************************************************************** * Public Function Prototypes @@ -368,7 +365,6 @@ int getprotobynumber_r(int proto, #endif /* CONFIG_LIBC_NETDB */ -#undef EXTERN #ifdef __cplusplus } #endif diff --git a/include/netinet/in.h b/include/netinet/in.h index 5f31d4e84df..927a022d9c2 100644 --- a/include/netinet/in.h +++ b/include/netinet/in.h @@ -378,19 +378,15 @@ struct in6_ifreq * Public Data ****************************************************************************/ -#undef EXTERN #if defined(__cplusplus) -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif /* Global IPv6 in6addr_any and in6addr_loopback */ -EXTERN const struct in6_addr in6addr_any; -EXTERN const struct in6_addr in6addr_loopback; +extern const struct in6_addr in6addr_any; +extern const struct in6_addr in6addr_loopback; /**************************************************************************** * Public Function Prototypes @@ -414,7 +410,6 @@ uint32_t htonl(uint32_t hl); uint16_t htons(uint16_t hs); uint64_t htonq(uint64_t hq); -#undef EXTERN #if defined(__cplusplus) } #endif diff --git a/include/nuttx/arch.h b/include/nuttx/arch.h index 83fd3dc9848..405fa92af6c 100644 --- a/include/nuttx/arch.h +++ b/include/nuttx/arch.h @@ -183,13 +183,9 @@ typedef CODE void (*debug_callback_t)(int type, FAR void *addr, size_t size, * Public Data ****************************************************************************/ -#undef EXTERN #if defined(__cplusplus) -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif #ifdef CONFIG_SCHED_TICKLESS_LIMIT_MAX_SLEEP @@ -207,7 +203,7 @@ extern "C" * value (in ticks). */ -EXTERN uint32_t g_oneshot_maxticks; +extern uint32_t g_oneshot_maxticks; #endif #ifdef CONFIG_RTC @@ -218,7 +214,7 @@ EXTERN uint32_t g_oneshot_maxticks; * some reason fails. */ -EXTERN volatile bool g_rtc_enabled; +extern volatile bool g_rtc_enabled; #endif #ifdef CONFIG_ARCH_MINIMAL_VECTORTABLE @@ -227,7 +223,7 @@ EXTERN volatile bool g_rtc_enabled; * in the configuration. See declaration in include/nuttx/irq.h */ -/* EXTERN const irq_mapped_t g_irqmap[NR_IRQS]; */ +/* extern const irq_mapped_t g_irqmap[NR_IRQS]; */ #endif @@ -3127,7 +3123,6 @@ void up_memtag_tag_mem(const void *addr, size_t size); #endif /* CONFIG_ARCH_HAVE_MEMTAG */ -#undef EXTERN #if defined(__cplusplus) } #endif diff --git a/include/nuttx/init.h b/include/nuttx/init.h index bcc9a24c2f0..627bffaa8df 100644 --- a/include/nuttx/init.h +++ b/include/nuttx/init.h @@ -82,11 +82,8 @@ enum nx_initstate_e ****************************************************************************/ #ifdef __cplusplus -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif /* This is the current initialization state. The level of initialization @@ -94,7 +91,7 @@ extern "C" * hardware resources may not yet be available to the OS-internal logic. */ -EXTERN volatile enum nx_initstate_e g_nx_initstate; /* See enum nx_initstate_e */ +extern volatile enum nx_initstate_e g_nx_initstate; /* See enum nx_initstate_e */ /**************************************************************************** * Public Function Prototypes @@ -106,7 +103,6 @@ EXTERN volatile enum nx_initstate_e g_nx_initstate; /* See enum nx_initstate_e void nx_start(void); -#undef EXTERN #ifdef __cplusplus } #endif diff --git a/include/nuttx/lib/builtin.h b/include/nuttx/lib/builtin.h index bd17a25753f..519ed96c42c 100644 --- a/include/nuttx/lib/builtin.h +++ b/include/nuttx/lib/builtin.h @@ -58,11 +58,8 @@ struct builtin_s ****************************************************************************/ #if defined(__cplusplus) -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif #if defined(CONFIG_BUILD_PROTECTED) && defined(__KERNEL__) @@ -77,8 +74,8 @@ extern "C" * address space. These globals must be provided the application layer. */ -EXTERN const struct builtin_s g_builtins[]; -EXTERN const int g_builtin_count; +extern const struct builtin_s g_builtins[]; +extern const int g_builtin_count; #endif /**************************************************************************** @@ -203,7 +200,6 @@ int builtin_getmode(int index); #endif -#undef EXTERN #if defined(__cplusplus) } #endif diff --git a/include/nuttx/mm/mm.h b/include/nuttx/mm/mm.h index 4f8c928b8e2..3f3b9d57db2 100644 --- a/include/nuttx/mm/mm.h +++ b/include/nuttx/mm/mm.h @@ -212,13 +212,9 @@ struct mempool_init_s * Public Data ****************************************************************************/ -#undef EXTERN #if defined(__cplusplus) -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif #ifdef CONFIG_MM_BACKTRACE_SEQNO @@ -251,13 +247,13 @@ extern unsigned long g_mm_seqno; #if defined(CONFIG_BUILD_FLAT) || !defined(__KERNEL__) /* Otherwise, the user heap data structures are in common .bss */ -EXTERN FAR struct mm_heap_s *g_mmheap; +extern FAR struct mm_heap_s *g_mmheap; #endif #ifdef CONFIG_MM_KERNEL_HEAP /* This is the kernel heap */ -EXTERN FAR struct mm_heap_s *g_kmmheap; +extern FAR struct mm_heap_s *g_kmmheap; #endif /**************************************************************************** @@ -497,7 +493,6 @@ void mm_notify_pressure(size_t remaining, size_t largest); # define mm_notify_pressure(remaining, largest) #endif -#undef EXTERN #ifdef __cplusplus } #endif diff --git a/include/nuttx/mtd/nand_model.h b/include/nuttx/mtd/nand_model.h index 0c82a5fcd36..cb473d3e395 100644 --- a/include/nuttx/mtd/nand_model.h +++ b/include/nuttx/mtd/nand_model.h @@ -88,16 +88,13 @@ struct nand_model_s #ifndef __ASSEMBLY__ #ifdef __cplusplus -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif /* List of NandFlash models which can be recognized by the software */ -EXTERN const struct nand_model_s g_nandmodels[NAND_NMODELS]; +extern const struct nand_model_s g_nandmodels[NAND_NMODELS]; /**************************************************************************** * Public Function Prototypes @@ -370,7 +367,6 @@ unsigned int nandmodel_getsparesize(FAR const struct nand_model_s *model); #define nandmodel_havecopyback(m) (((m)->options & NANDMODEL_COPYBACK) != 0) -#undef EXTERN #ifdef __cplusplus } #endif diff --git a/include/nuttx/mtd/nand_ram.h b/include/nuttx/mtd/nand_ram.h index e1004fdca20..b1b1d258b44 100644 --- a/include/nuttx/mtd/nand_ram.h +++ b/include/nuttx/mtd/nand_ram.h @@ -68,16 +68,13 @@ ****************************************************************************/ #ifdef __cplusplus -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif -EXTERN FAR struct mtd_dev_s *g_nand_ram_mtd_wrapper; -EXTERN FAR struct mtd_dev_s *g_nand_ram_mtd_under; -EXTERN FAR struct nand_raw_s *g_nand_mtd_raw; +extern FAR struct mtd_dev_s *g_nand_ram_mtd_wrapper; +extern FAR struct mtd_dev_s *g_nand_ram_mtd_under; +extern FAR struct nand_raw_s *g_nand_mtd_raw; /**************************************************************************** * Inline Functions @@ -95,7 +92,6 @@ int nand_ram_rawwrite(FAR struct nand_raw_s *raw, off_t block, FAR const void *spare); FAR struct mtd_dev_s *nand_ram_initialize(struct nand_raw_s *raw); -#undef EXTERN #ifdef __cplusplus } #endif diff --git a/include/nuttx/mtd/nand_scheme.h b/include/nuttx/mtd/nand_scheme.h index 66da618f7e5..53f237263c8 100644 --- a/include/nuttx/mtd/nand_scheme.h +++ b/include/nuttx/mtd/nand_scheme.h @@ -75,17 +75,14 @@ struct nand_scheme_s #ifndef __ASSEMBLY__ #ifdef __cplusplus -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif -EXTERN const struct nand_scheme_s g_nand_sparescheme256; -EXTERN const struct nand_scheme_s g_nand_sparescheme512; -EXTERN const struct nand_scheme_s g_nand_sparescheme2048; -EXTERN const struct nand_scheme_s g_nand_sparescheme4096; +extern const struct nand_scheme_s g_nand_sparescheme256; +extern const struct nand_scheme_s g_nand_sparescheme512; +extern const struct nand_scheme_s g_nand_sparescheme2048; +extern const struct nand_scheme_s g_nand_sparescheme4096; /**************************************************************************** * Public Function Prototypes @@ -305,7 +302,6 @@ void nandscheme_writeextra(FAR const struct nand_scheme_s *scheme, int nandscheme_build4096(FAR struct nand_scheme_s *scheme, unsigned int sparesize, unsigned int eccoffset); -#undef EXTERN #ifdef __cplusplus } #endif diff --git a/include/nuttx/net/ethernet.h b/include/nuttx/net/ethernet.h index 55add2af07d..5a2edd6af1d 100644 --- a/include/nuttx/net/ethernet.h +++ b/include/nuttx/net/ethernet.h @@ -121,23 +121,19 @@ struct eth_8021qhdr_s ****************************************************************************/ #ifdef __cplusplus -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif #if defined(CONFIG_NET_ICMPv6_AUTOCONF) || defined(CONFIG_NET_ICMPv6_ROUTER) -EXTERN const struct ether_addr g_ipv6_ethallnodes; /* All link local nodes */ -EXTERN const struct ether_addr g_ipv6_ethallrouters; /* All link local routers */ +extern const struct ether_addr g_ipv6_ethallnodes; /* All link local nodes */ +extern const struct ether_addr g_ipv6_ethallrouters; /* All link local routers */ #endif /**************************************************************************** * Public Function Prototypes ****************************************************************************/ -#undef EXTERN #ifdef __cplusplus } #endif diff --git a/include/nuttx/net/loopback.h b/include/nuttx/net/loopback.h index 44b07aec362..37e98ea12a0 100644 --- a/include/nuttx/net/loopback.h +++ b/include/nuttx/net/loopback.h @@ -39,29 +39,26 @@ ****************************************************************************/ #ifdef __cplusplus -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif #ifdef CONFIG_LIBC_NETDB /* Local loopback hostname */ -EXTERN const char g_lo_hostname[]; +extern const char g_lo_hostname[]; #endif /* Local loopback addresses */ #ifdef CONFIG_NET_IPv4 -EXTERN const in_addr_t g_lo_ipv4addr; -EXTERN const in_addr_t g_lo_ipv4mask; +extern const in_addr_t g_lo_ipv4addr; +extern const in_addr_t g_lo_ipv4mask; #endif #ifdef CONFIG_NET_IPv6 -EXTERN const net_ipv6addr_t g_lo_ipv6addr; -EXTERN const net_ipv6addr_t g_lo_ipv6mask; +extern const net_ipv6addr_t g_lo_ipv6addr; +extern const net_ipv6addr_t g_lo_ipv6mask; #endif /**************************************************************************** @@ -84,7 +81,6 @@ EXTERN const net_ipv6addr_t g_lo_ipv6mask; int localhost_initialize(void); -#undef EXTERN #ifdef __cplusplus } #endif diff --git a/include/nuttx/pthread.h b/include/nuttx/pthread.h index a2d7114e9fa..9063fbbdccc 100644 --- a/include/nuttx/pthread.h +++ b/include/nuttx/pthread.h @@ -105,11 +105,8 @@ ****************************************************************************/ #ifdef __cplusplus -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif /**************************************************************************** @@ -120,7 +117,7 @@ extern "C" * kernel- or within the user- address space. */ -EXTERN const pthread_attr_t g_default_pthread_attr; +extern const pthread_attr_t g_default_pthread_attr; /**************************************************************************** * Public Function Prototypes @@ -168,7 +165,6 @@ int nx_pthread_create(pthread_trampoline_t trampoline, FAR pthread_t *thread, void nx_pthread_exit(FAR void *exit_value) noreturn_function; -#undef EXTERN #ifdef __cplusplus } #endif diff --git a/include/nuttx/sched.h b/include/nuttx/sched.h index cc912629f8f..6293d6c2976 100644 --- a/include/nuttx/sched.h +++ b/include/nuttx/sched.h @@ -849,37 +849,33 @@ struct smp_call_data_s ****************************************************************************/ #ifndef __ASSEMBLY__ -#undef EXTERN #if defined(__cplusplus) -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif /* Maximum time with pre-emption disabled or within critical section. */ #if CONFIG_SCHED_CRITMONITOR_MAXTIME_PREEMPTION >= 0 -EXTERN clock_t g_preemp_max[CONFIG_SMP_NCPUS]; +extern clock_t g_preemp_max[CONFIG_SMP_NCPUS]; #endif /* CONFIG_SCHED_CRITMONITOR_MAXTIME_PREEMPTION >= 0 */ #if CONFIG_SCHED_CRITMONITOR_MAXTIME_CSECTION >= 0 -EXTERN clock_t g_crit_max[CONFIG_SMP_NCPUS]; +extern clock_t g_crit_max[CONFIG_SMP_NCPUS]; #endif /* CONFIG_SCHED_CRITMONITOR_MAXTIME_CSECTION >= 0 */ #if CONFIG_SCHED_CRITMONITOR_MAXTIME_BUSYWAIT >= 0 -EXTERN clock_t g_busywait_max[CONFIG_SMP_NCPUS]; -EXTERN clock_t g_busywait_total[CONFIG_SMP_NCPUS]; +extern clock_t g_busywait_max[CONFIG_SMP_NCPUS]; +extern clock_t g_busywait_total[CONFIG_SMP_NCPUS]; #endif /* CONFIG_SCHED_CRITMONITOR_MAXTIME_BUSYWAIT >= 0 */ /* g_running_tasks[] holds a references to the running task for each CPU. * It is valid only when up_interrupt_context() returns true. */ -EXTERN FAR struct tcb_s *g_running_tasks[CONFIG_SMP_NCPUS]; +extern FAR struct tcb_s *g_running_tasks[CONFIG_SMP_NCPUS]; -EXTERN const struct tcbinfo_s g_tcbinfo; +extern const struct tcbinfo_s g_tcbinfo; /**************************************************************************** * Public Function Prototypes @@ -1910,7 +1906,6 @@ void nxsched_sleep(unsigned int sec); int nxsched_nanosleep(FAR const struct timespec *rqtp, FAR struct timespec *rmtp); -#undef EXTERN #if defined(__cplusplus) } #endif diff --git a/include/nuttx/usb/usbdev_trace.h b/include/nuttx/usb/usbdev_trace.h index eb01d78e852..c7becd623a1 100644 --- a/include/nuttx/usb/usbdev_trace.h +++ b/include/nuttx/usb/usbdev_trace.h @@ -428,13 +428,9 @@ typedef CODE int (*trprintf_t)(FAR const char *fmt, ...) printf_like(1, 2); * Public Data ****************************************************************************/ -#undef EXTERN #if defined(__cplusplus) -# define EXTERN extern "C" extern "C" { -#else -# define EXTERN extern #endif /* If CONFIG_USBDEV_TRACE_STRINGS is defined, then the USB class driver and @@ -443,11 +439,11 @@ extern "C" */ #ifdef CONFIG_USBDEV_TRACE_STRINGS -EXTERN const struct trace_msg_t g_usb_trace_strings_clsapi[]; -EXTERN const struct trace_msg_t g_usb_trace_strings_clsstate[]; -EXTERN const struct trace_msg_t g_usb_trace_strings_clserror[]; -EXTERN const struct trace_msg_t g_usb_trace_strings_deverror[]; -EXTERN const struct trace_msg_t g_usb_trace_strings_intdecode[]; +extern const struct trace_msg_t g_usb_trace_strings_clsapi[]; +extern const struct trace_msg_t g_usb_trace_strings_clsstate[]; +extern const struct trace_msg_t g_usb_trace_strings_clserror[]; +extern const struct trace_msg_t g_usb_trace_strings_deverror[]; +extern const struct trace_msg_t g_usb_trace_strings_intdecode[]; #endif /**************************************************************************** @@ -523,7 +519,6 @@ int usbtrace_enumerate(trace_callback_t callback, void *arg); void usbtrace_trprintf(trprintf_t trprintf, uint16_t event, uint16_t value); -#undef EXTERN #if defined(__cplusplus) } #endif diff --git a/include/nuttx/wireless/cc1101.h b/include/nuttx/wireless/cc1101.h index d902bc55223..23e62fc9e1d 100644 --- a/include/nuttx/wireless/cc1101.h +++ b/include/nuttx/wireless/cc1101.h @@ -247,13 +247,9 @@ ****************************************************************************/ #ifndef __ASSEMBLY__ -#undef EXTERN #if defined(__cplusplus) -# define EXTERN extern "C" extern "C" { -#else -# define EXTERN extern #endif typedef CODE int (*wait_cc1101_ready)(FAR struct cc1101_dev_s *dev, @@ -428,7 +424,7 @@ struct c1101_rfsettings_s * ISM-Band and Short Range Device Regulatory Compliance Overview */ -EXTERN const struct c1101_rfsettings_s +extern const struct c1101_rfsettings_s cc1101_rfsettings_ISM1_868MHzGFSK100kbps; /* 905 MHz, GFSK, 250 kbps, ISM Region 2 (America only) @@ -441,10 +437,10 @@ EXTERN const struct c1101_rfsettings_s * Military radar 1000 kW */ -EXTERN const struct c1101_rfsettings_s +extern const struct c1101_rfsettings_s cc1101_rfsettings_ISM2_905MHzGFSK250kbps; -EXTERN const struct c1101_rfsettings_s +extern const struct c1101_rfsettings_s cc1101_rfsettings_ISM2_433MHzMSK500kbps; /**************************************************************************** @@ -646,7 +642,6 @@ int cc1101_register(FAR const char *path, FAR struct cc1101_dev_s *dev); void cc1101_isr_process(FAR void *arg); int cc1101_isr(int irq, FAR void *context, FAR void *arg); -#undef EXTERN #if defined(__cplusplus) } #endif diff --git a/include/nuttx/wireless/ieee802154/ieee802154_mac.h b/include/nuttx/wireless/ieee802154/ieee802154_mac.h index ee5ab20fd44..fb05b140119 100644 --- a/include/nuttx/wireless/ieee802154/ieee802154_mac.h +++ b/include/nuttx/wireless/ieee802154/ieee802154_mac.h @@ -1716,18 +1716,15 @@ struct ieee802154_netmac_s typedef FAR void *MACHANDLE; #ifdef __cplusplus -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif /***************************************************************************** * Public Data *****************************************************************************/ -EXTERN FAR const char *g_ieee802154_status_string[]; +extern FAR const char *g_ieee802154_status_string[]; /***************************************************************************** * Public Function Prototypes @@ -1867,7 +1864,6 @@ FAR struct ieee802154_primitive_s *ieee802154_primitive_allocate(void); void ieee802154_primitive_free(FAR struct ieee802154_primitive_s *prim); -#undef EXTERN #ifdef __cplusplus } #endif diff --git a/include/nuttx/zoneinfo.h b/include/nuttx/zoneinfo.h index 1b79a46f15f..ad4e16a33c0 100644 --- a/include/nuttx/zoneinfo.h +++ b/include/nuttx/zoneinfo.h @@ -40,11 +40,8 @@ ****************************************************************************/ #ifdef __cplusplus -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif /* If the TZ database is built as a ROMFS file system, then these variables @@ -54,14 +51,13 @@ extern "C" * mount the ROMF file system. */ -EXTERN unsigned char romfs_zoneinfo_img[]; -EXTERN unsigned int romfs_zoneinfo_img_len; +extern unsigned char romfs_zoneinfo_img[]; +extern unsigned int romfs_zoneinfo_img_len; /**************************************************************************** * Public Function Prototypes ****************************************************************************/ -#undef EXTERN #ifdef __cplusplus } #endif diff --git a/include/sys/syscall.h b/include/sys/syscall.h index ed1fbf9f9b3..4b6a2b38744 100644 --- a/include/sys/syscall.h +++ b/include/sys/syscall.h @@ -71,11 +71,8 @@ enum ****************************************************************************/ #ifdef __cplusplus -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif #ifdef CONFIG_LIB_SYSCALL @@ -86,7 +83,7 @@ extern "C" * This table is only available during the kernel phase of a kernel build. */ -EXTERN const uintptr_t g_stublookup[SYS_nsyscalls]; +extern const uintptr_t g_stublookup[SYS_nsyscalls]; #endif @@ -94,13 +91,12 @@ EXTERN const uintptr_t g_stublookup[SYS_nsyscalls]; * provides the name of the function. */ -EXTERN const char *g_funcnames[SYS_nsyscalls]; +extern const char *g_funcnames[SYS_nsyscalls]; /**************************************************************************** * Public Function Prototypes ****************************************************************************/ -#undef EXTERN #ifdef __cplusplus } #endif diff --git a/include/time.h b/include/time.h index 0ff75587ed5..244b070d549 100644 --- a/include/time.h +++ b/include/time.h @@ -158,30 +158,26 @@ struct sigevent; * Public Data ****************************************************************************/ -#undef EXTERN #if defined(__cplusplus) -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif #ifdef CONFIG_LIBC_LOCALTIME /* daylight - Daylight savings time flag */ -/* EXTERN int daylight; not supported */ +/* extern int daylight; not supported */ /* timezone - Difference from UTC and local standard time */ -/* EXTERN long int timezone; not supported */ +/* extern long int timezone; not supported */ /* tzname[] - Timezone strings * Setup by tzset() */ -EXTERN FAR char *tzname[2]; +extern FAR char *tzname[2]; #endif /**************************************************************************** @@ -239,7 +235,6 @@ int nanosleep(FAR const struct timespec *rqtp, FAR struct timespec *rmtp); void tzset(void); -#undef EXTERN #if defined(__cplusplus) } #endif diff --git a/include/unistd.h b/include/unistd.h index 4a02ba06479..37f9cbb5cb1 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -338,13 +338,9 @@ * Public Data ****************************************************************************/ -#undef EXTERN #if defined(__cplusplus) -#define EXTERN extern "C" extern "C" { -#else -#define EXTERN extern #endif /**************************************************************************** @@ -500,10 +496,10 @@ FAR int *getoptindp(void); /* Index into argv */ FAR int *getoptoptp(void); /* Unrecognized option character */ #ifdef NUTTX_NO_GETOPT_MACROS -EXTERN FAR char *optarg; /* Optional argument following option */ -EXTERN int opterr; /* Print error message */ -EXTERN int optind; /* Index into argv */ -EXTERN int optopt; /* Unrecognized option character */ +extern FAR char *optarg; /* Optional argument following option */ +extern int opterr; /* Print error message */ +extern int optind; /* Index into argv */ +extern int optopt; /* Unrecognized option character */ #endif int gethostname(FAR char *name, size_t namelen); @@ -624,7 +620,6 @@ fortify_function(write) ssize_t write(int fd, FAR const void *buf, } #endif -#undef EXTERN #if defined(__cplusplus) } #endif
