ns-3 Direct Code Execution
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
libc-ns3.h
Go to the documentation of this file.
1 
17 #ifndef DCE
18 #error Macro DCE should be defined before including libc-ns3.h
19 #endif
20 
21 #ifndef NATIVE
22 #define NATIVE DCE
23 #endif
24 
25 #ifndef NATIVE_WITH_ALIAS
26 #define NATIVE_WITH_ALIAS NATIVE
27 #endif
28 
29 #ifndef NATIVE_WITH_ALIAS2
30 #define NATIVE_WITH_ALIAS2(name,internal) NATIVE_WITH_ALIAS (name)
31 #endif
32 
33 #ifndef DCE_WITH_ALIAS
34 #define DCE_WITH_ALIAS DCE
35 #endif
36 
37 #ifndef DCE_WITH_ALIAS2
38 #define DCE_WITH_ALIAS2(name,internal) DCE_WITH_ALIAS (name)
39 #endif
40 
41 #ifndef NATIVE_EXPLICIT
42 #define NATIVE_EXPLICIT(name,type) NATIVE (name)
43 #endif
44 
45 // #ifndef ALIAS
46 // #define ALIAS(base_function, alias_name)
47 // #endif
48 
49 // // not really a libc function, but we still need to get pointer from DCE to this function
51 
52 // Not sure where it is defined and implemented
53 // NATIVE (__xpg_strerror_r)
54 
55 
56 DCE (__cxa_finalize)
57 DCE (__cxa_atexit)
58 // Not sure where it is defined and implemented
59 NATIVE (__gxx_personality_v0)
60 
61 // STDLIB.H
62 DCE (atexit)
63 DCE (random)
64 DCE (srandom)
65 DCE (rand)
66 DCE (srand)
67 DCE (drand48)
68 DCE (erand48)
69 DCE (lrand48)
70 DCE (nrand48)
71 DCE (mrand48)
72 DCE (jrand48)
73 DCE (srand48)
74 DCE (seed48)
75 DCE (lcong48)
76 NATIVE (drand48_r)
77 NATIVE (erand48_r)
78 NATIVE (lrand48_r)
79 NATIVE (nrand48_r)
80 NATIVE (mrand48_r)
81 NATIVE (jrand48_r)
82 NATIVE (srand48_r)
83 NATIVE (seed48_r)
84 NATIVE (lcong48_r)
85 DCE (calloc)
86 DCE_WITH_ALIAS2 (malloc, valloc)
87 DCE (free)
88 DCE (realloc)
89 NATIVE (atoi)
90 NATIVE (atol)
91 NATIVE (atoll)
92 NATIVET (double, atof)
93 DCE_WITH_ALIAS2 (strtol, __strtol_internal)
94 DCET (long long int, strtoll)
95 DCE (strtoul)
96 DCE (strtoull)
97 DCET (double, strtod)
98 DCE (getenv)
99 #ifdef HAVE___SECURE_GETENV
100 NATIVE (__secure_getenv)
101 #endif
102 DCE (putenv)
103 DCE (setenv)
104 DCE (unsetenv)
105 DCE (clearenv)
106 NATIVE (qsort)
107 DCE (abort)
108 DCE (mkstemp)
109 DCE (rename)
110 
111 // STRING.H
112 NATIVE (strerror)
113 NATIVE (strerror_r)
114 NATIVE (strcoll)
115 NATIVE (memset)
116 NATIVE (memcpy)
117 NATIVE (bcopy)
118 NATIVE (memcmp)
119 NATIVE (memmove)
120 NATIVE_EXPLICIT (memchr, void * (*)(void *, int, size_t))
121 NATIVE_EXPLICIT (memrchr, void * (*)(void *, int, size_t))
122 NATIVE (strcpy)
123 NATIVE (strncpy)
124 NATIVE (strcat)
125 NATIVE (strncat)
126 NATIVE (strcmp)
127 NATIVE (strncmp)
128 NATIVE (strlen)
129 NATIVE (strnlen)
130 NATIVE (strcspn)
131 NATIVE (strspn)
132 NATIVE_EXPLICIT (strchr, char* (*)(char *, int))
133 NATIVE_EXPLICIT (strrchr, const char * (*)(const char *, int))
134 NATIVE (strcasecmp)
135 NATIVE (strncasecmp)
136 DCE_WITH_ALIAS (strdup) // because C++ defines both const and non-const functions
137 DCE (strndup)
138 NATIVE_EXPLICIT (index, char * (*)(char *, int))
139 NATIVE_EXPLICIT (rindex, char * (*)(char *, int))
140 NATIVE_EXPLICIT (strtok, char * (*)(char *, const char *))
141 NATIVE_EXPLICIT (strtok_r, char * (*)(char *, const char *, char **))
142 NATIVE (strsep)
143 
144 
145 // LOCALE.H
146 DCE (setlocale)
147 NATIVE_WITH_ALIAS (newlocale)
148 NATIVE_WITH_ALIAS (uselocale)
149 
150 // WCHAR.H
151 NATIVE (wctob)
152 NATIVE (btowc)
153 NATIVE (mbrlen)
154 
155 // ARPA/INET.H
156 NATIVE (htonl)
157 NATIVE (htons)
158 NATIVE (ntohl)
159 NATIVE (ntohs)
160 NATIVE (lockf)
161 NATIVE (inet_aton)
162 NATIVE (inet_addr)
163 NATIVE (inet_network)
164 NATIVE (inet_ntoa)
165 NATIVE (inet_makeaddr)
166 NATIVE (inet_lnaof)
167 NATIVE (inet_netof)
168 DCE (inet_ntop)
169 NATIVE (inet_pton)
170 NATIVE (inet6_opt_find)
171 
172 // SYS/SOCKET.H
173 DCE (socket)
174 DCE (socketpair)
175 DCE (getsockname)
176 DCE (getpeername)
177 DCE (bind)
178 DCE (connect)
179 DCE (setsockopt)
180 DCE (getsockopt)
181 DCE (listen)
182 DCE (accept)
183 DCE (shutdown)
184 DCE (send)
185 DCE (sendto)
186 DCE (sendmsg)
187 DCE (recv)
188 DCE (recvfrom)
189 DCE (recvmsg)
190 DCE (getnameinfo)
191 
192 
193 // UNISTD.H
194 DCE (read)
195 DCE (write)
196 DCE (sleep)
197 DCE (usleep)
198 DCE (getopt)
199 DCE (getopt_long)
200 DCE (getpid)
201 DCE (getppid)
202 DCE (getuid)
203 DCE (geteuid)
204 DCE (setuid)
205 DCE (setgid)
206 DCE (seteuid)
207 DCE (setegid)
208 DCE (setreuid)
209 DCE (setregid)
210 DCE (setresuid)
211 DCE (setresgid)
212 DCE (dup)
213 DCE (dup2)
214 DCE (close)
215 DCE (unlink)
216 DCE (rmdir)
217 DCE (select)
218 DCE (isatty)
219 DCE (exit)
220 DCE (getcwd)
221 DCE (getwd)
222 DCE (get_current_dir_name)
223 DCE (chdir)
224 DCE (fchdir)
225 DCE (fork)
226 DCE (execv)
227 DCE (execl)
228 DCE (execve)
229 DCE (execvp)
230 DCE (execlp)
231 DCE (execle)
232 DCE (truncate)
233 DCE (ftruncate)
234 DCE (ftruncate64)
235 NATIVE (sysconf)
236 DCE (ttyname)
237 DCE (sbrk)
238 DCE (getpagesize)
239 DCE (getgid)
240 DCE (getegid)
241 DCE (gethostname)
242 DCE (getpgrp)
243 DCE (lseek)
244 DCE (euidaccess)
245 DCE (eaccess)
246 DCE (access)
247 DCE (pipe)
248 NATIVE (pathconf)
249 NATIVE (getdtablesize)
250 DCE (pread)
251 DCE (pwrite)
252 DCE (daemon)
253 DCE (alarm)
254 DCE (readlink)
255 DCE (chown)
256 DCE (initgroups)
257 
258 // SYS/UIO.H
259 DCE (readv)
260 DCE (writev)
261 
262 // STDIO.H
263 DCE_WITH_ALIAS2 (clearerr,clearerr_unlocked)
264 DCE (setvbuf)
265 DCE (setbuf)
266 DCE (setbuffer)
267 DCE (setlinebuf)
268 DCE (fseek)
269 DCE (ftell)
270 DCE (fseeko)
271 DCE (ftello)
272 DCE (rewind)
273 DCE (fgetpos)
274 DCE (fsetpos)
275 DCE (printf)
276 NATIVE (fprintf)
277 NATIVE (sprintf)
278 DCE (asprintf)
279 DCE (vasprintf)
280 NATIVE (dprintf)
281 NATIVE (vdprintf)
282 DCE_WITH_ALIAS2 (fgetc,fgetc_unlocked)
283 NATIVE (getc)
284 NATIVE (getc_unlocked)
285 DCE_WITH_ALIAS2 (getchar,getchar_unlocked)
286 DCE (_IO_getc)
287 DCE_WITH_ALIAS2 (fputc,fputc_unlocked)
288 NATIVE (putc)
289 NATIVE (putc_unlocked)
290 DCE_WITH_ALIAS2 (putchar, putchar_unlocked)
291 DCE (_IO_putc)
292 DCE_WITH_ALIAS2 (fgets, fgets_unlocked)
293 DCE_WITH_ALIAS2 (fputs, fputs_unlocked)
294 DCE (puts)
295 DCE (ungetc)
296 DCE (fclose)
297 DCE (fcloseall)
298 DCE (fopen)
299 DCE (fopen64)
300 DCE (freopen)
301 DCE (fdopen)
302 DCE_WITH_ALIAS2 (fread, fread_unlocked)
303 DCE_WITH_ALIAS2 (fwrite,fwrite_unlocked)
304 DCE_WITH_ALIAS2 (fflush,fflush_unlocked)
305 DCE_WITH_ALIAS2 (ferror,ferror_unlocked)
306 DCE_WITH_ALIAS2 (feof,feof_unlocked)
307 DCE_WITH_ALIAS2 (fileno,fileno_unlocked)
308 DCE (perror)
309 DCE (remove)
310 //NATIVE (sscanf)
311 NATIVE_WITH_ALIAS2 (sscanf, __isoc99_sscanf)
312 NATIVE (flockfile)
313 NATIVE (funlockfile)
314 
315 // STDARG.H
316 DCE (vprintf)
317 NATIVE (vfprintf)
318 NATIVE (vsprintf)
319 
320 // FCNTL.H
321 DCE (fcntl)
322 DCE (open)
323 DCE (open64)
324 DCE (unlinkat)
325 
326 // TIME.H
327 DCE (nanosleep)
328 DCE (asctime)
329 NATIVE (asctime_r)
330 DCE (ctime)
331 NATIVE (ctime_r)
332 DCE_WITH_ALIAS2 (gmtime, localtime)
333 NATIVE_WITH_ALIAS2 (gmtime_r, localtime_r)
334 NATIVE (mktime)
335 NATIVE (strftime)
336 NATIVE (strptime)
337 NATIVE (timegm)
338 NATIVE (timelocal)
339 DCE_EXPLICIT (clock_gettime, int, clockid_t, struct timespec *)
340 DCE_EXPLICIT (clock_getres, int, clockid_t, struct timespec *)
341 
342 // UTIME.H
343 DCE (utime)
344 DCE (tzset)
345 
346 // SYS/TIME.H
347 DCE (gettimeofday)
348 DCE (time)
349 DCE (setitimer)
350 DCE (getitimer)
351 
352 DCE (sysinfo)
353 
354 // SYS/MAP.H
355 DCE (mmap)
356 DCE (mmap64)
357 DCE (munmap)
358 
359 // SYS/STAT/H
360 DCE (mkdir)
361 DCE (umask)
362 
363 // SYS/IOCTL.H
364 DCE (ioctl)
365 
366 // SCHED.H
367 DCE (sched_yield)
368 
369 // POLL.H
370 DCE (poll)
371 
372 // SIGNAL.H
373 DCE (signal)
374 DCE (sigaction)
375 NATIVE (sigemptyset)
376 NATIVE (sigfillset)
377 NATIVE (sigaddset)
378 NATIVE (sigdelset)
379 NATIVE (sigismember)
380 DCE (sigprocmask)
381 DCE (sigwait)
382 DCE (kill)
383 
384 // PTHREAD.H
385 DCE (pthread_create)
386 DCE (pthread_exit)
387 DCE (pthread_self)
388 DCE_WITH_ALIAS (pthread_once)
389 DCE (pthread_getspecific)
390 DCE (pthread_setspecific)
391 DCE (pthread_key_create)
392 DCE (pthread_key_delete)
393 DCE (pthread_mutex_destroy)
394 DCE (pthread_mutex_init)
395 DCE_EXPLICIT (pthread_mutex_lock, int, pthread_mutex_t *)
396 DCE_EXPLICIT (pthread_mutex_unlock, int, pthread_mutex_t *)
397 DCE (pthread_mutex_trylock)
398 DCE (pthread_mutexattr_init)
399 DCE (pthread_mutexattr_destroy)
400 DCE (pthread_mutexattr_settype)
401 DCE (pthread_cancel)
402 DCE (pthread_kill)
403 DCE (pthread_join)
404 DCE (pthread_detach)
405 DCE (pthread_cond_destroy)
406 DCE (pthread_cond_init)
407 DCE (pthread_cond_broadcast)
408 DCE (pthread_cond_signal)
409 DCE_EXPLICIT (pthread_cond_timedwait, int, pthread_cond_t*, pthread_mutex_t*, const struct timespec *)
410 DCE_EXPLICIT (pthread_cond_wait, int, pthread_cond_t*, pthread_mutex_t*)
411 DCE (pthread_condattr_destroy)
412 DCE (pthread_condattr_init)
413 NATIVE (pthread_rwlock_init)
414 NATIVE (pthread_rwlock_unlock)
415 NATIVE (pthread_rwlock_wrlock)
416 NATIVE (pthread_rwlock_rdlock)
417 NATIVE (pthread_rwlock_destroy)
418 NATIVE (pthread_setcancelstate)
419 NATIVE (pthread_sigmask)
420 NATIVE (pthread_equal)
421 NATIVE (pthread_spin_init)
422 NATIVE (pthread_spin_lock)
423 NATIVE (pthread_spin_unlock)
424 NATIVE (pthread_spin_destroy)
425 
426 
427 // SEMAPHORE.H
428 DCE (sem_init)
429 DCE (sem_destroy)
430 DCE (sem_post)
431 DCE (sem_wait)
432 DCE (sem_timedwait)
433 DCE (sem_trywait)
434 DCE (sem_getvalue)
435 
436 // NETDB.H
437 DCE (gethostbyname)
438 DCE (gethostbyname2)
439 DCE (getaddrinfo)
440 DCE (freeaddrinfo)
441 DCE (gai_strerror)
442 DCE (getifaddrs)
443 NATIVE (freeifaddrs)
444 NATIVE (gethostent)
445 NATIVE (sethostent)
446 NATIVE (endhostent)
447 DCE (herror)
448 NATIVE (hstrerror) // this could be replaced by DCE call
449 NATIVE (getprotoent)
450 NATIVE (getprotobyname)
451 NATIVE (getprotobynumber)
452 NATIVE (setprotoent)
453 NATIVE (endprotoent)
454 NATIVE (getservent)
455 NATIVE (getservbyname)
456 NATIVE (getservbyport)
457 NATIVE (setservent)
458 NATIVE (endservent)
459 
460 // CTYPE.H
461 NATIVE (toupper)
462 NATIVE (tolower)
463 
464 // SYS/TIMERFD.H
465 DCE (timerfd_create)
466 DCE (timerfd_settime)
467 DCE (timerfd_gettime)
468 
469 // NET/IF.H
470 DCE (if_nametoindex)
471 DCE (if_indextoname)
472 
473 // DIRENT.H
474 DCE (opendir)
475 DCE (fdopendir)
476 DCE (readdir)
477 DCE (readdir_r)
478 DCE (closedir)
479 DCE (dirfd)
480 DCE (rewinddir)
481 DCE (scandir)
482 NATIVE (alphasort)
483 NATIVE (alphasort64)
484 NATIVE (versionsort)
485 
486 // SYS/UTSNAME.H
487 DCE (uname)
488 
489 // SYS/WAIT.H
490 DCE (wait)
491 DCE (waitpid)
492 
493 // LIBGEN.H
494 NATIVE (basename)
495 NATIVE (dirname)
496 NATIVE (__xpg_basename)
497 
498 // GRP.H
499 NATIVE (getgrnam)
500 
501 // SYS/RESOURCE.H
502 NATIVE (getrusage) // not sure if native call will give stats about the requested process..
503 NATIVE (getrlimit)
504 NATIVE (setrlimit)
505 
506 // SYSLOG.H
507 DCE (openlog)
508 DCE (closelog)
509 DCE (setlogmask)
510 DCE (syslog)
511 DCE (vsyslog)
512 
513 // SETJMP.H
514 NATIVE (__sigsetjmp)
515 NATIVE (siglongjmp)
516 
517 // LIBINTL.H
518 NATIVE (bindtextdomain)
519 NATIVE (textdomain)
520 NATIVE (gettext)
521 NATIVE (catopen)
522 NATIVE (catgets)
523 
524 // PWD.H
525 NATIVE (getpwnam)
526 DCE (getpwuid)
527 DCE (endpwent)
528 
529 // INTTYPES.H
530 NATIVE (strtoimax)
531 NATIVE (strtoumax)
532 
533 // NETINET/ETHER.H
534 NATIVE (ether_aton_r)
535 NATIVE (ether_aton)
536 
537 // SEARCH.H
538 NATIVE (tsearch)
539 NATIVE (tfind)
540 NATIVE (tdelete)
541 NATIVE (twalk)
542 NATIVE (tdestroy)
543 
544 // FNMATCH.H
545 NATIVE (fnmatch)
546 
547 // LANGINFO.H
548 NATIVE (nl_langinfo)
549 
550 // SYS/VFS.H
551 DCE (fstatfs)
552 DCE (fstatfs64)
553 DCE (statfs)
554 DCE (statfs64)
555 
556 // SYS/STATVFS.H
557 DCE (statvfs)
558 DCE (fstatvfs)
559 
560 // TERMIO.H
561 DCE (tcgetattr)
562 DCE (tcsetattr)
563 
565 
566 // ctype.h
567 NATIVE (__ctype_b_loc)
568 NATIVE_WITH_ALIAS (wctype_l)
569 NATIVE (__ctype_tolower_loc)
570 
571 // stdlib.h
572 NATIVE (__ctype_get_mb_cur_max)
573 
574 // stdio.h
575 DCE (__fpurge)
576 DCE (__fpending)
577 
578 DCE (__strcpy_chk)
579 DCE (__printf_chk)
580 DCE (__vfprintf_chk)
581 DCE (__fprintf_chk)
582 DCE (__snprintf_chk)
583 DCE (__errno_location)
584 DCE (__vsnprintf_chk)
585 
586 DCE (__xstat)
587 DCE (__lxstat)
588 DCE (__fxstat)
589 DCE (__xstat64)
590 DCE (__lxstat64)
591 DCE (__fxstat64)
592 DCE (__fxstatat)
593 NATIVE (__cmsg_nxthdr)
594 
595 // math.h
596 NATIVE (lrintl)
597 NATIVE (llrintl)
598 
599 #undef DCE
600 #undef DCET
601 #undef DCE_EXPLICIT
602 #undef NATIVE
603 #undef NATIVET
604 #undef NATIVE_WITH_ALIAS
605 #undef NATIVE_WITH_ALIAS2
606 #undef NATIVE_EXPLICIT
607 #undef DCE_WITH_ALIAS
608 #undef DCE_WITH_ALIAS2
609