7 typedef long unsigned int size_t;
11 typedef unsigned short __kernel_dev_t;
12 typedef unsigned long __kernel_ino_t;
13 typedef unsigned short __kernel_mode_t;
14 typedef unsigned short __kernel_nlink_t;
15 typedef long __kernel_off_t;
16 typedef int __kernel_pid_t;
17 typedef unsigned int __kernel_ipc_pid_t;
18 typedef unsigned int __kernel_uid_t;
19 typedef unsigned int __kernel_gid_t;
20 typedef unsigned int __kernel_size_t;
21 typedef int __kernel_ssize_t;
22 typedef int __kernel_ptrdiff_t;
23 typedef long __kernel_time_t;
24 typedef long __kernel_suseconds_t;
25 typedef long __kernel_clock_t;
26 typedef int __kernel_daddr_t;
27 typedef char * __kernel_caddr_t;
28 typedef unsigned short __kernel_uid16_t;
29 typedef unsigned short __kernel_gid16_t;
30 typedef unsigned int __kernel_uid32_t;
31 typedef unsigned int __kernel_gid32_t;
32 typedef unsigned short __kernel_old_uid_t;
33 typedef unsigned short __kernel_old_gid_t;
34 typedef long long __kernel_loff_t;
35 typedef __kernel_dev_t __kernel_old_dev_t;
46 typedef unsigned char __u_char;
47 typedef unsigned short int __u_short;
48 typedef unsigned int __u_int;
49 typedef unsigned long int __u_long;
52 typedef signed char __int8_t;
53 typedef unsigned char __uint8_t;
54 typedef signed short int __int16_t;
55 typedef unsigned short int __uint16_t;
56 typedef signed int __int32_t;
57 typedef unsigned int __uint32_t;
62 __extension__ typedef signed long long int __int64_t;
63 __extension__ typedef unsigned long long int __uint64_t;
71 __extension__ typedef long long int __quad_t;
72 __extension__ typedef unsigned long long int __u_quad_t;
75 __extension__ typedef __u_quad_t __dev_t;
76 __extension__ typedef unsigned int __uid_t;
77 __extension__ typedef unsigned int __gid_t;
78 __extension__ typedef unsigned long int __ino_t;
79 __extension__ typedef __u_quad_t __ino64_t;
80 __extension__ typedef unsigned int __mode_t;
81 __extension__ typedef unsigned int __nlink_t;
82 __extension__ typedef long int __off_t;
83 __extension__ typedef __quad_t __off64_t;
84 __extension__ typedef int __pid_t;
85 __extension__ typedef struct { int __val[2]; } __fsid_t;
86 __extension__ typedef long int __clock_t;
87 __extension__ typedef unsigned long int __rlim_t;
88 __extension__ typedef __u_quad_t __rlim64_t;
89 __extension__ typedef unsigned int __id_t;
90 __extension__ typedef long int __time_t;
91 __extension__ typedef unsigned int __useconds_t;
92 __extension__ typedef long int __suseconds_t;
94 __extension__ typedef int __daddr_t;
95 __extension__ typedef long int __swblk_t;
96 __extension__ typedef int __key_t;
99 __extension__ typedef int __clockid_t;
102 __extension__ typedef void * __timer_t;
105 __extension__ typedef long int __blksize_t;
110 __extension__ typedef long int __blkcnt_t;
111 __extension__ typedef __quad_t __blkcnt64_t;
114 __extension__ typedef unsigned long int __fsblkcnt_t;
115 __extension__ typedef __u_quad_t __fsblkcnt64_t;
118 __extension__ typedef unsigned long int __fsfilcnt_t;
119 __extension__ typedef __u_quad_t __fsfilcnt64_t;
121 __extension__ typedef long int __ssize_t;
125 typedef __off64_t __loff_t;
126 typedef __quad_t *__qaddr_t;
127 typedef char *__caddr_t;
130 __extension__ typedef int __intptr_t;
133 __extension__ typedef unsigned int __socklen_t;
139 typedef __kernel_ipc_pid_t __ipc_pid_t;
145 int __sched_priority;
149 struct _pthread_fastlock
158 typedef struct _pthread_descr_struct *_pthread_descr;
164 typedef struct __pthread_attr_s
168 struct __sched_param __schedparam;
181 struct _pthread_fastlock __c_lock;
182 _pthread_descr __c_waiting;
190 } pthread_condattr_t;
193 typedef unsigned int pthread_key_t;
203 _pthread_descr __m_owner;
205 struct _pthread_fastlock __m_lock;
213 } pthread_mutexattr_t;
217 typedef int pthread_once_t;
218 typedef unsigned long int pthread_t;
228 typedef struct __STDIO_FILE_STRUCT FILE;
234 typedef struct __STDIO_FILE_STRUCT __FILE;
244 int __sched_priority;
251 extern int clone (int (*__fn) (void *__arg), void *__child_stack,
252 int __flags, void *__arg, ...) __attribute__ ((__nothrow__));
261 typedef unsigned long int __cpu_mask;
270 __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
279 extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param)
280 __attribute__ ((__nothrow__));
283 extern int sched_getparam (__pid_t __pid, struct sched_param *__param) __attribute__ ((__nothrow__));
286 extern int sched_setscheduler (__pid_t __pid, int __policy,
287 __const struct sched_param *__param) __attribute__ ((__nothrow__));
290 extern int sched_getscheduler (__pid_t __pid) __attribute__ ((__nothrow__));
293 extern int sched_yield (void) __attribute__ ((__nothrow__));
296 extern int sched_get_priority_max (int __algorithm) __attribute__ ((__nothrow__));
299 extern int sched_get_priority_min (int __algorithm) __attribute__ ((__nothrow__));
302 extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __attribute__ ((__nothrow__));
317 typedef __clock_t clock_t;
323 typedef __time_t time_t;
327 typedef __clockid_t clockid_t;
328 typedef __timer_t timer_t;
346 __const char *tm_zone;
363 struct timespec it_interval;
364 struct timespec it_value;
372 extern clock_t clock (void) __attribute__ ((__nothrow__));
375 extern time_t time (time_t *__timer) __attribute__ ((__nothrow__));
379 extern double difftime (time_t __time1, time_t __time0)
380 __attribute__ ((__nothrow__)) __attribute__ ((__const__));
384 extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__));
390 extern size_t strftime (char *__restrict __s, size_t __maxsize,
391 __const char *__restrict __format,
392 __const struct tm *__restrict __tp) __attribute__ ((__nothrow__));
397 extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__));
401 extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__));
407 extern struct tm *gmtime_r (__const time_t *__restrict __timer,
408 struct tm *__restrict __tp) __attribute__ ((__nothrow__));
412 extern struct tm *localtime_r (__const time_t *__restrict __timer,
413 struct tm *__restrict __tp) __attribute__ ((__nothrow__));
419 extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__));
422 extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__));
430 extern char *asctime_r (__const struct tm *__restrict __tp,
431 char *__restrict __buf) __attribute__ ((__nothrow__));
434 extern char *ctime_r (__const time_t *__restrict __timer,
435 char *__restrict __buf) __attribute__ ((__nothrow__));
436 extern char *tzname[2];
440 extern void tzset (void) __attribute__ ((__nothrow__));
445 extern long int timezone;
451 extern int stime (__const time_t *__when) __attribute__ ((__nothrow__));
452 extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__));
455 extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__));
458 extern int dysize (int __year) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
459 extern int nanosleep (__const struct timespec *__requested_time,
460 struct timespec *__remaining);
464 extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__));
467 extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__));
470 extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
471 __attribute__ ((__nothrow__));
472 extern int timer_create (clockid_t __clock_id,
473 struct sigevent *__restrict __evp,
474 timer_t *__restrict __timerid) __attribute__ ((__nothrow__));
477 extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__));
480 extern int timer_settime (timer_t __timerid, int __flags,
481 __const struct itimerspec *__restrict __value,
482 struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__));
485 extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
486 __attribute__ ((__nothrow__));
489 extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__));
495 typedef int __sig_atomic_t;
502 unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
504 typedef __sigset_t sigset_t;
511 PTHREAD_CREATE_JOINABLE,
513 PTHREAD_CREATE_DETACHED
519 PTHREAD_INHERIT_SCHED,
521 PTHREAD_EXPLICIT_SCHED
527 PTHREAD_SCOPE_SYSTEM,
529 PTHREAD_SCOPE_PROCESS
535 PTHREAD_MUTEX_ADAPTIVE_NP,
536 PTHREAD_MUTEX_RECURSIVE_NP,
537 PTHREAD_MUTEX_ERRORCHECK_NP,
538 PTHREAD_MUTEX_TIMED_NP
543 PTHREAD_PROCESS_PRIVATE,
545 PTHREAD_PROCESS_SHARED
548 struct _pthread_cleanup_buffer
550 void (*__routine) (void *);
553 struct _pthread_cleanup_buffer *__prev;
560 PTHREAD_CANCEL_ENABLE,
562 PTHREAD_CANCEL_DISABLE
567 PTHREAD_CANCEL_DEFERRED,
569 PTHREAD_CANCEL_ASYNCHRONOUS
572 extern int pthread_create (pthread_t *__restrict __threadp,
573 __const pthread_attr_t *__restrict __attr,
574 void *(*__start_routine) (void *),
575 void *__restrict __arg) __attribute__ ((__nothrow__));
578 extern pthread_t pthread_self (void) __attribute__ ((__nothrow__));
581 extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) __attribute__ ((__nothrow__));
584 extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
589 extern int pthread_join (pthread_t __th, void **__thread_return);
595 extern int pthread_detach (pthread_t __th) __attribute__ ((__nothrow__));
603 extern int pthread_attr_init (pthread_attr_t *__attr) __attribute__ ((__nothrow__));
606 extern int pthread_attr_destroy (pthread_attr_t *__attr) __attribute__ ((__nothrow__));
609 extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
610 int __detachstate) __attribute__ ((__nothrow__));
613 extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr,
614 int *__detachstate) __attribute__ ((__nothrow__));
617 extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
618 __const struct sched_param *__restrict
619 __param) __attribute__ ((__nothrow__));
622 extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict
624 struct sched_param *__restrict __param)
625 __attribute__ ((__nothrow__));
628 extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
629 __attribute__ ((__nothrow__));
632 extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict
633 __attr, int *__restrict __policy)
634 __attribute__ ((__nothrow__));
637 extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
638 int __inherit) __attribute__ ((__nothrow__));
641 extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict
642 __attr, int *__restrict __inherit)
643 __attribute__ ((__nothrow__));
646 extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
647 __attribute__ ((__nothrow__));
650 extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr,
651 int *__restrict __scope) __attribute__ ((__nothrow__));
652 extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
653 void *__stackaddr) __attribute__ ((__nothrow__));
656 extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
657 __attr, void **__restrict __stackaddr)
658 __attribute__ ((__nothrow__));
659 extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
660 size_t __stacksize) __attribute__ ((__nothrow__));
663 extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict
664 __attr, size_t *__restrict __stacksize)
665 __attribute__ ((__nothrow__));
666 extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
667 __const struct sched_param *__param)
668 __attribute__ ((__nothrow__));
671 extern int pthread_getschedparam (pthread_t __target_thread,
672 int *__restrict __policy,
673 struct sched_param *__restrict __param)
674 __attribute__ ((__nothrow__));
675 extern int pthread_mutex_init (pthread_mutex_t *__restrict __mutex,
676 __const pthread_mutexattr_t *__restrict
677 __mutex_attr) __attribute__ ((__nothrow__));
680 extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__));
683 extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__));
686 extern int pthread_mutex_lock (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__));
687 extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__));
694 extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) __attribute__ ((__nothrow__));
697 extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) __attribute__ ((__nothrow__));
700 extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *
702 int *__restrict __pshared) __attribute__ ((__nothrow__));
705 extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
706 int __pshared) __attribute__ ((__nothrow__));
707 extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
708 __const pthread_condattr_t *__restrict
709 __cond_attr) __attribute__ ((__nothrow__));
712 extern int pthread_cond_destroy (pthread_cond_t *__cond) __attribute__ ((__nothrow__));
715 extern int pthread_cond_signal (pthread_cond_t *__cond) __attribute__ ((__nothrow__));
718 extern int pthread_cond_broadcast (pthread_cond_t *__cond) __attribute__ ((__nothrow__));
722 extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
723 pthread_mutex_t *__restrict __mutex);
729 extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
730 pthread_mutex_t *__restrict __mutex,
731 __const struct timespec *__restrict
737 extern int pthread_condattr_init (pthread_condattr_t *__attr) __attribute__ ((__nothrow__));
740 extern int pthread_condattr_destroy (pthread_condattr_t *__attr) __attribute__ ((__nothrow__));
743 extern int pthread_condattr_getpshared (__const pthread_condattr_t *
745 int *__restrict __pshared) __attribute__ ((__nothrow__));
748 extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
749 int __pshared) __attribute__ ((__nothrow__));
750 extern int pthread_key_create (pthread_key_t *__key,
751 void (*__destr_function) (void *)) __attribute__ ((__nothrow__));
754 extern int pthread_key_delete (pthread_key_t __key) __attribute__ ((__nothrow__));
757 extern int pthread_setspecific (pthread_key_t __key,
758 __const void *__pointer) __attribute__ ((__nothrow__));
761 extern void *pthread_getspecific (pthread_key_t __key) __attribute__ ((__nothrow__));
762 extern int pthread_once (pthread_once_t *__once_control,
763 void (*__init_routine) (void));
770 extern int pthread_setcancelstate (int __state, int *__oldstate);
774 extern int pthread_setcanceltype (int __type, int *__oldtype);
777 extern int pthread_cancel (pthread_t __cancelthread);
782 extern void pthread_testcancel (void);
783 extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer,
784 void (*__routine) (void *),
785 void *__arg) __attribute__ ((__nothrow__));
793 extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer,
794 int __execute) __attribute__ ((__nothrow__));
795 extern int pthread_sigmask (int __how,
796 __const __sigset_t *__restrict __newmask,
797 __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__));
800 extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__));
801 extern int pthread_atfork (void (*__prepare) (void),
802 void (*__parent) (void),
803 void (*__child) (void)) __attribute__ ((__nothrow__));
808 extern void pthread_kill_other_threads_np (void) __attribute__ ((__nothrow__));
835 typedef __off64_t __offmax_t;
836 struct __STDIO_FILE_STRUCT {
837 unsigned short __modeflags;
845 unsigned char __ungot[2];
849 unsigned char *__bufstart;
850 unsigned char *__bufend;
851 unsigned char *__bufpos;
852 unsigned char *__bufread;
855 unsigned char *__bufgetc_u;
858 unsigned char *__bufputc_u;
864 struct __STDIO_FILE_STRUCT *__nextopen;
866 pthread_mutex_t __lock;
873 extern int __fgetc_unlocked(FILE *__stream);
874 extern int __fputc_unlocked(int __c, FILE *__stream);
875 extern FILE *__stdin;
876 extern FILE *__stdout;
880 typedef __builtin_va_list __gnuc_va_list;
885 typedef __STDIO_fpos_t fpos_t;
903 extern int remove (__const char *__filename) __attribute__ ((__nothrow__));
905 extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__));
915 extern FILE *tmpfile (void);
916 extern char *tmpnam (char *__s) __attribute__ ((__nothrow__));
922 extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__));
923 extern char *tempnam (__const char *__dir, __const char *__pfx)
924 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
933 extern int fclose (FILE *__stream);
938 extern int fflush (FILE *__stream);
940 extern int fflush_unlocked (FILE *__stream);
947 extern FILE *fopen (__const char *__restrict __filename,
948 __const char *__restrict __modes);
953 extern FILE *freopen (__const char *__restrict __filename,
954 __const char *__restrict __modes,
955 FILE *__restrict __stream);
957 extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__));
961 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__));
965 extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
966 int __modes, size_t __n) __attribute__ ((__nothrow__));
972 extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
973 size_t __size) __attribute__ ((__nothrow__));
976 extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__));
985 extern int fprintf (FILE *__restrict __stream,
986 __const char *__restrict __format, ...);
991 extern int printf (__const char *__restrict __format, ...);
993 extern int sprintf (char *__restrict __s,
994 __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
1000 extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
1001 __gnuc_va_list __arg);
1006 extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
1008 extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
1009 __gnuc_va_list __arg) __attribute__ ((__nothrow__));
1015 extern int snprintf (char *__restrict __s, size_t __maxlen,
1016 __const char *__restrict __format, ...)
1017 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4)));
1019 extern int vsnprintf (char *__restrict __s, size_t __maxlen,
1020 __const char *__restrict __format, __gnuc_va_list __arg)
1021 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0)));
1028 extern int fscanf (FILE *__restrict __stream,
1029 __const char *__restrict __format, ...);
1034 extern int scanf (__const char *__restrict __format, ...);
1036 extern int sscanf (__const char *__restrict __s,
1037 __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
1044 extern int fgetc (FILE *__stream);
1045 extern int getc (FILE *__stream);
1051 extern int getchar (void);
1053 extern int getc_unlocked (FILE *__stream);
1054 extern int getchar_unlocked (void);
1055 extern int fgetc_unlocked (FILE *__stream);
1067 extern int fputc (int __c, FILE *__stream);
1068 extern int putc (int __c, FILE *__stream);
1074 extern int putchar (int __c);
1076 extern int fputc_unlocked (int __c, FILE *__stream);
1084 extern int putc_unlocked (int __c, FILE *__stream);
1085 extern int putchar_unlocked (int __c);
1086 extern int getw (FILE *__stream);
1089 extern int putw (int __w, FILE *__stream);
1098 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream);
1105 extern char *gets (char *__s);
1112 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
1118 extern int puts (__const char *__s);
1125 extern int ungetc (int __c, FILE *__stream);
1132 extern size_t fread (void *__restrict __ptr, size_t __size,
1133 size_t __n, FILE *__restrict __stream);
1138 extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
1139 size_t __n, FILE *__restrict __s);
1141 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
1142 size_t __n, FILE *__restrict __stream);
1143 extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
1144 size_t __n, FILE *__restrict __stream);
1153 extern int fseek (FILE *__stream, long int __off, int __whence);
1158 extern long int ftell (FILE *__stream);
1163 extern void rewind (FILE *__stream);
1171 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
1176 extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
1180 extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__));
1182 extern int feof (FILE *__stream) __attribute__ ((__nothrow__));
1184 extern int ferror (FILE *__stream) __attribute__ ((__nothrow__));
1189 extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
1190 extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
1191 extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
1200 extern void perror (__const char *__s);
1202 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__));
1207 extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
1208 extern FILE *popen (__const char *__command, __const char *__modes);
1214 extern int pclose (FILE *__stream);
1220 extern char *ctermid (char *__s) __attribute__ ((__nothrow__));
1221 extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__));
1225 extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__));
1228 extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__));
1239 extern void *memcpy (void *__restrict __dest,
1240 __const void *__restrict __src, size_t __n)
1241 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1244 extern void *memmove (void *__dest, __const void *__src, size_t __n)
1245 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1252 extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
1253 int __c, size_t __n)
1254 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1260 extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1263 extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
1264 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1267 extern void *memchr (__const void *__s, int __c, size_t __n)
1268 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1272 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
1273 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1275 extern char *strncpy (char *__restrict __dest,
1276 __const char *__restrict __src, size_t __n)
1277 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1280 extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
1281 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1283 extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
1284 size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1287 extern int strcmp (__const char *__s1, __const char *__s2)
1288 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1290 extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
1291 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1294 extern int strcoll (__const char *__s1, __const char *__s2)
1295 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1297 extern size_t strxfrm (char *__restrict __dest,
1298 __const char *__restrict __src, size_t __n)
1299 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
1301 extern char *strdup (__const char *__s)
1302 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
1305 extern char *strchr (__const char *__s, int __c)
1306 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1308 extern char *strrchr (__const char *__s, int __c)
1309 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1314 extern size_t strcspn (__const char *__s, __const char *__reject)
1315 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1318 extern size_t strspn (__const char *__s, __const char *__accept)
1319 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1321 extern char *strpbrk (__const char *__s, __const char *__accept)
1322 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1324 extern char *strstr (__const char *__haystack, __const char *__needle)
1325 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1329 extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
1330 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
1332 extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
1333 char **__restrict __save_ptr)
1334 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
1337 extern size_t strlen (__const char *__s)
1338 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1342 extern char *strerror (int __errnum) __attribute__ ((__nothrow__));
1344 extern char *__glibc_strerror_r (int __errnum, char *__buf, size_t __buflen)
1345 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
1347 extern char * strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("_" "__glibc_strerror_r") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
1348 extern void bcopy (__const void *__src, void *__dest, size_t __n)
1349 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1352 extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
1355 extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
1356 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1359 extern char *index (__const char *__s, int __c)
1360 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1363 extern char *rindex (__const char *__s, int __c)
1364 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1365 extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
1366 extern int strcasecmp (__const char *__s1, __const char *__s2)
1367 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1370 extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
1371 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1372 extern char *strsep (char **__restrict __stringp,
1373 __const char *__restrict __delim)
1374 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1375 extern size_t strlcat(char *__restrict dst, const char *__restrict src,
1376 size_t n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1377 extern size_t strlcpy(char *__restrict dst, const char *__restrict src,
1378 size_t n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
1385 const char *it = "<UNSET>";
1392 check (int thing, int number)
1396 printf("%s flunked test %d\n", it, number);
1401 printf("%s test %d ok\n", it, number);
1407 equal (const char *a, const char *b, int number)
1409 check(a != ((void *)0) && b != ((void *)0) && (strcmp((a), (b)) == 0), number);
1413 int _strcmp(const char *cs, const char *ct)
1421 ("1:\t%2 = B[%0++] (Z);\n\t"
1422 "%3 = B[%1++] (Z);\n\t"
1423 "CC = %2 == %3;\n\t"
1424 "if ! cc jump 2f;\n\t"
1426 "if cc jump 1b (bp);\n\t"
1428 "2:\t%2 = %2 - %3;\n"
1430 : "+&a" (cs), "+&a" (ct), "=&d" (__res1), "=&d" (__res2)
1441 char buf1[0x40], buf2[0x40];
1455 buf1[i] = buf1[0x3f] = 0;
1456 buf2[j] = buf2[0x3f] = 0;
1464 buf1[i+k] = 'A' + i + k;
1468 check (_strcmp (buf1+i,buf2+j) > 0, 2);
1476 int main(int argc, char *argv[])
1485 printf("TEST PASS.\n");
1490 printf("%Zd errors.\n", errors);
1491 printf("TEST FAIL.\n");