]>
Commit | Line | Data |
---|---|---|
1 | typedef long unsigned int size_t; | |
2 | typedef unsigned short __kernel_dev_t; | |
3 | typedef unsigned long __kernel_ino_t; | |
4 | typedef unsigned short __kernel_mode_t; | |
5 | typedef unsigned short __kernel_nlink_t; | |
6 | typedef long __kernel_off_t; | |
7 | typedef int __kernel_pid_t; | |
8 | typedef unsigned int __kernel_ipc_pid_t; | |
9 | typedef unsigned int __kernel_uid_t; | |
10 | typedef unsigned int __kernel_gid_t; | |
11 | typedef unsigned int __kernel_size_t; | |
12 | typedef int __kernel_ssize_t; | |
13 | typedef int __kernel_ptrdiff_t; | |
14 | typedef long __kernel_time_t; | |
15 | typedef long __kernel_suseconds_t; | |
16 | typedef long __kernel_clock_t; | |
17 | typedef int __kernel_daddr_t; | |
18 | typedef char * __kernel_caddr_t; | |
19 | typedef unsigned short __kernel_uid16_t; | |
20 | typedef unsigned short __kernel_gid16_t; | |
21 | typedef unsigned int __kernel_uid32_t; | |
22 | typedef unsigned int __kernel_gid32_t; | |
23 | typedef unsigned short __kernel_old_uid_t; | |
24 | typedef unsigned short __kernel_old_gid_t; | |
25 | typedef long long __kernel_loff_t; | |
26 | typedef __kernel_dev_t __kernel_old_dev_t; | |
27 | typedef struct { | |
28 | int __val[2]; | |
29 | } __kernel_fsid_t; | |
30 | typedef unsigned char __u_char; | |
31 | typedef unsigned short int __u_short; | |
32 | typedef unsigned int __u_int; | |
33 | typedef unsigned long int __u_long; | |
34 | typedef signed char __int8_t; | |
35 | typedef unsigned char __uint8_t; | |
36 | typedef signed short int __int16_t; | |
37 | typedef unsigned short int __uint16_t; | |
38 | typedef signed int __int32_t; | |
39 | typedef unsigned int __uint32_t; | |
40 | __extension__ typedef signed long long int __int64_t; | |
41 | __extension__ typedef unsigned long long int __uint64_t; | |
42 | __extension__ typedef long long int __quad_t; | |
43 | __extension__ typedef unsigned long long int __u_quad_t; | |
44 | __extension__ typedef __u_quad_t __dev_t; | |
45 | __extension__ typedef unsigned int __uid_t; | |
46 | __extension__ typedef unsigned int __gid_t; | |
47 | __extension__ typedef unsigned long int __ino_t; | |
48 | __extension__ typedef __u_quad_t __ino64_t; | |
49 | __extension__ typedef unsigned int __mode_t; | |
50 | __extension__ typedef unsigned int __nlink_t; | |
51 | __extension__ typedef long int __off_t; | |
52 | __extension__ typedef __quad_t __off64_t; | |
53 | __extension__ typedef int __pid_t; | |
54 | __extension__ typedef struct { int __val[2]; } __fsid_t; | |
55 | __extension__ typedef long int __clock_t; | |
56 | __extension__ typedef unsigned long int __rlim_t; | |
57 | __extension__ typedef __u_quad_t __rlim64_t; | |
58 | __extension__ typedef unsigned int __id_t; | |
59 | __extension__ typedef long int __time_t; | |
60 | __extension__ typedef unsigned int __useconds_t; | |
61 | __extension__ typedef long int __suseconds_t; | |
62 | __extension__ typedef int __daddr_t; | |
63 | __extension__ typedef long int __swblk_t; | |
64 | __extension__ typedef int __key_t; | |
65 | __extension__ typedef int __clockid_t; | |
66 | __extension__ typedef void * __timer_t; | |
67 | __extension__ typedef long int __blksize_t; | |
68 | __extension__ typedef long int __blkcnt_t; | |
69 | __extension__ typedef __quad_t __blkcnt64_t; | |
70 | __extension__ typedef unsigned long int __fsblkcnt_t; | |
71 | __extension__ typedef __u_quad_t __fsblkcnt64_t; | |
72 | __extension__ typedef unsigned long int __fsfilcnt_t; | |
73 | __extension__ typedef __u_quad_t __fsfilcnt64_t; | |
74 | __extension__ typedef long int __ssize_t; | |
75 | typedef __off64_t __loff_t; | |
76 | typedef __quad_t *__qaddr_t; | |
77 | typedef char *__caddr_t; | |
78 | __extension__ typedef int __intptr_t; | |
79 | __extension__ typedef unsigned int __socklen_t; | |
80 | typedef __kernel_ipc_pid_t __ipc_pid_t; | |
81 | struct __sched_param | |
82 | { | |
83 | int __sched_priority; | |
84 | }; | |
85 | struct _pthread_fastlock | |
86 | { | |
87 | long int __status; | |
88 | int __spinlock; | |
89 | }; | |
90 | typedef struct _pthread_descr_struct *_pthread_descr; | |
91 | typedef struct __pthread_attr_s | |
92 | { | |
93 | int __detachstate; | |
94 | int __schedpolicy; | |
95 | struct __sched_param __schedparam; | |
96 | int __inheritsched; | |
97 | int __scope; | |
98 | size_t __guardsize; | |
99 | int __stackaddr_set; | |
100 | void *__stackaddr; | |
101 | size_t __stacksize; | |
102 | } pthread_attr_t; | |
103 | typedef struct | |
104 | { | |
105 | struct _pthread_fastlock __c_lock; | |
106 | _pthread_descr __c_waiting; | |
107 | } pthread_cond_t; | |
108 | typedef struct | |
109 | { | |
110 | int __dummy; | |
111 | } pthread_condattr_t; | |
112 | typedef unsigned int pthread_key_t; | |
113 | typedef struct | |
114 | { | |
115 | int __m_reserved; | |
116 | int __m_count; | |
117 | _pthread_descr __m_owner; | |
118 | int __m_kind; | |
119 | struct _pthread_fastlock __m_lock; | |
120 | } pthread_mutex_t; | |
121 | typedef struct | |
122 | { | |
123 | int __mutexkind; | |
124 | } pthread_mutexattr_t; | |
125 | typedef int pthread_once_t; | |
126 | typedef unsigned long int pthread_t; | |
127 | typedef struct __STDIO_FILE_STRUCT FILE; | |
128 | typedef struct __STDIO_FILE_STRUCT __FILE; | |
129 | struct timespec | |
130 | { | |
131 | __time_t tv_sec; | |
132 | long int tv_nsec; | |
133 | }; | |
134 | struct sched_param | |
135 | { | |
136 | int __sched_priority; | |
137 | }; | |
138 | extern int clone (int (*__fn) (void *__arg), void *__child_stack, | |
139 | int __flags, void *__arg, ...) __attribute__ ((__nothrow__)); | |
140 | typedef unsigned long int __cpu_mask; | |
141 | typedef struct | |
142 | { | |
143 | __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; | |
144 | } cpu_set_t; | |
145 | extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param) | |
146 | __attribute__ ((__nothrow__)); | |
147 | extern int sched_getparam (__pid_t __pid, struct sched_param *__param) __attribute__ ((__nothrow__)); | |
148 | extern int sched_setscheduler (__pid_t __pid, int __policy, | |
149 | __const struct sched_param *__param) __attribute__ ((__nothrow__)); | |
150 | extern int sched_getscheduler (__pid_t __pid) __attribute__ ((__nothrow__)); | |
151 | extern int sched_yield (void) __attribute__ ((__nothrow__)); | |
152 | extern int sched_get_priority_max (int __algorithm) __attribute__ ((__nothrow__)); | |
153 | extern int sched_get_priority_min (int __algorithm) __attribute__ ((__nothrow__)); | |
154 | extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __attribute__ ((__nothrow__)); | |
155 | typedef __clock_t clock_t; | |
156 | typedef __time_t time_t; | |
157 | typedef __clockid_t clockid_t; | |
158 | typedef __timer_t timer_t; | |
159 | struct tm | |
160 | { | |
161 | int tm_sec; | |
162 | int tm_min; | |
163 | int tm_hour; | |
164 | int tm_mday; | |
165 | int tm_mon; | |
166 | int tm_year; | |
167 | int tm_wday; | |
168 | int tm_yday; | |
169 | int tm_isdst; | |
170 | long int tm_gmtoff; | |
171 | __const char *tm_zone; | |
172 | }; | |
173 | struct itimerspec | |
174 | { | |
175 | struct timespec it_interval; | |
176 | struct timespec it_value; | |
177 | }; | |
178 | struct sigevent; | |
179 | extern clock_t clock (void) __attribute__ ((__nothrow__)); | |
180 | extern time_t time (time_t *__timer) __attribute__ ((__nothrow__)); | |
181 | extern double difftime (time_t __time1, time_t __time0) | |
182 | __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
183 | extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__)); | |
184 | extern size_t strftime (char *__restrict __s, size_t __maxsize, | |
185 | __const char *__restrict __format, | |
186 | __const struct tm *__restrict __tp) __attribute__ ((__nothrow__)); | |
187 | extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__)); | |
188 | extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__)); | |
189 | extern struct tm *gmtime_r (__const time_t *__restrict __timer, | |
190 | struct tm *__restrict __tp) __attribute__ ((__nothrow__)); | |
191 | extern struct tm *localtime_r (__const time_t *__restrict __timer, | |
192 | struct tm *__restrict __tp) __attribute__ ((__nothrow__)); | |
193 | extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__)); | |
194 | extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__)); | |
195 | extern char *asctime_r (__const struct tm *__restrict __tp, | |
196 | char *__restrict __buf) __attribute__ ((__nothrow__)); | |
197 | extern char *ctime_r (__const time_t *__restrict __timer, | |
198 | char *__restrict __buf) __attribute__ ((__nothrow__)); | |
199 | extern char *tzname[2]; | |
200 | extern void tzset (void) __attribute__ ((__nothrow__)); | |
201 | extern int daylight; | |
202 | extern long int timezone; | |
203 | extern int stime (__const time_t *__when) __attribute__ ((__nothrow__)); | |
204 | extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__)); | |
205 | extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__)); | |
206 | extern int dysize (int __year) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); | |
207 | extern int nanosleep (__const struct timespec *__requested_time, | |
208 | struct timespec *__remaining); | |
209 | extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__)); | |
210 | extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__)); | |
211 | extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) | |
212 | __attribute__ ((__nothrow__)); | |
213 | extern int timer_create (clockid_t __clock_id, | |
214 | struct sigevent *__restrict __evp, | |
215 | timer_t *__restrict __timerid) __attribute__ ((__nothrow__)); | |
216 | extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__)); | |
217 | extern int timer_settime (timer_t __timerid, int __flags, | |
218 | __const struct itimerspec *__restrict __value, | |
219 | struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__)); | |
220 | extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) | |
221 | __attribute__ ((__nothrow__)); | |
222 | extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__)); | |
223 | typedef int __sig_atomic_t; | |
224 | typedef struct | |
225 | { | |
226 | unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; | |
227 | } __sigset_t; | |
228 | typedef __sigset_t sigset_t; | |
229 | enum | |
230 | { | |
231 | PTHREAD_CREATE_JOINABLE, | |
232 | PTHREAD_CREATE_DETACHED | |
233 | }; | |
234 | enum | |
235 | { | |
236 | PTHREAD_INHERIT_SCHED, | |
237 | PTHREAD_EXPLICIT_SCHED | |
238 | }; | |
239 | enum | |
240 | { | |
241 | PTHREAD_SCOPE_SYSTEM, | |
242 | PTHREAD_SCOPE_PROCESS | |
243 | }; | |
244 | enum | |
245 | { | |
246 | PTHREAD_MUTEX_ADAPTIVE_NP, | |
247 | PTHREAD_MUTEX_RECURSIVE_NP, | |
248 | PTHREAD_MUTEX_ERRORCHECK_NP, | |
249 | PTHREAD_MUTEX_TIMED_NP | |
250 | }; | |
251 | enum | |
252 | { | |
253 | PTHREAD_PROCESS_PRIVATE, | |
254 | PTHREAD_PROCESS_SHARED | |
255 | }; | |
256 | struct _pthread_cleanup_buffer | |
257 | { | |
258 | void (*__routine) (void *); | |
259 | void *__arg; | |
260 | int __canceltype; | |
261 | struct _pthread_cleanup_buffer *__prev; | |
262 | }; | |
263 | enum | |
264 | { | |
265 | PTHREAD_CANCEL_ENABLE, | |
266 | PTHREAD_CANCEL_DISABLE | |
267 | }; | |
268 | enum | |
269 | { | |
270 | PTHREAD_CANCEL_DEFERRED, | |
271 | PTHREAD_CANCEL_ASYNCHRONOUS | |
272 | }; | |
273 | extern int pthread_create (pthread_t *__restrict __threadp, | |
274 | __const pthread_attr_t *__restrict __attr, | |
275 | void *(*__start_routine) (void *), | |
276 | void *__restrict __arg) __attribute__ ((__nothrow__)); | |
277 | extern pthread_t pthread_self (void) __attribute__ ((__nothrow__)); | |
278 | extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) __attribute__ ((__nothrow__)); | |
279 | extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); | |
280 | extern int pthread_join (pthread_t __th, void **__thread_return); | |
281 | extern int pthread_detach (pthread_t __th) __attribute__ ((__nothrow__)); | |
282 | extern int pthread_attr_init (pthread_attr_t *__attr) __attribute__ ((__nothrow__)); | |
283 | extern int pthread_attr_destroy (pthread_attr_t *__attr) __attribute__ ((__nothrow__)); | |
284 | extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, | |
285 | int __detachstate) __attribute__ ((__nothrow__)); | |
286 | extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr, | |
287 | int *__detachstate) __attribute__ ((__nothrow__)); | |
288 | extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, | |
289 | __const struct sched_param *__restrict | |
290 | __param) __attribute__ ((__nothrow__)); | |
291 | extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict | |
292 | __attr, | |
293 | struct sched_param *__restrict __param) | |
294 | __attribute__ ((__nothrow__)); | |
295 | extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) | |
296 | __attribute__ ((__nothrow__)); | |
297 | extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict | |
298 | __attr, int *__restrict __policy) | |
299 | __attribute__ ((__nothrow__)); | |
300 | extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, | |
301 | int __inherit) __attribute__ ((__nothrow__)); | |
302 | extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict | |
303 | __attr, int *__restrict __inherit) | |
304 | __attribute__ ((__nothrow__)); | |
305 | extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) | |
306 | __attribute__ ((__nothrow__)); | |
307 | extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr, | |
308 | int *__restrict __scope) __attribute__ ((__nothrow__)); | |
309 | extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, | |
310 | void *__stackaddr) __attribute__ ((__nothrow__)); | |
311 | extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict | |
312 | __attr, void **__restrict __stackaddr) | |
313 | __attribute__ ((__nothrow__)); | |
314 | extern int pthread_attr_setstacksize (pthread_attr_t *__attr, | |
315 | size_t __stacksize) __attribute__ ((__nothrow__)); | |
316 | extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict | |
317 | __attr, size_t *__restrict __stacksize) | |
318 | __attribute__ ((__nothrow__)); | |
319 | extern int pthread_setschedparam (pthread_t __target_thread, int __policy, | |
320 | __const struct sched_param *__param) | |
321 | __attribute__ ((__nothrow__)); | |
322 | extern int pthread_getschedparam (pthread_t __target_thread, | |
323 | int *__restrict __policy, | |
324 | struct sched_param *__restrict __param) | |
325 | __attribute__ ((__nothrow__)); | |
326 | extern int pthread_mutex_init (pthread_mutex_t *__restrict __mutex, | |
327 | __const pthread_mutexattr_t *__restrict | |
328 | __mutex_attr) __attribute__ ((__nothrow__)); | |
329 | extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__)); | |
330 | extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__)); | |
331 | extern int pthread_mutex_lock (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__)); | |
332 | extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__)); | |
333 | extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) __attribute__ ((__nothrow__)); | |
334 | extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) __attribute__ ((__nothrow__)); | |
335 | extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t * | |
336 | __restrict __attr, | |
337 | int *__restrict __pshared) __attribute__ ((__nothrow__)); | |
338 | extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, | |
339 | int __pshared) __attribute__ ((__nothrow__)); | |
340 | extern int pthread_cond_init (pthread_cond_t *__restrict __cond, | |
341 | __const pthread_condattr_t *__restrict | |
342 | __cond_attr) __attribute__ ((__nothrow__)); | |
343 | extern int pthread_cond_destroy (pthread_cond_t *__cond) __attribute__ ((__nothrow__)); | |
344 | extern int pthread_cond_signal (pthread_cond_t *__cond) __attribute__ ((__nothrow__)); | |
345 | extern int pthread_cond_broadcast (pthread_cond_t *__cond) __attribute__ ((__nothrow__)); | |
346 | extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, | |
347 | pthread_mutex_t *__restrict __mutex); | |
348 | extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, | |
349 | pthread_mutex_t *__restrict __mutex, | |
350 | __const struct timespec *__restrict | |
351 | __abstime); | |
352 | extern int pthread_condattr_init (pthread_condattr_t *__attr) __attribute__ ((__nothrow__)); | |
353 | extern int pthread_condattr_destroy (pthread_condattr_t *__attr) __attribute__ ((__nothrow__)); | |
354 | extern int pthread_condattr_getpshared (__const pthread_condattr_t * | |
355 | __restrict __attr, | |
356 | int *__restrict __pshared) __attribute__ ((__nothrow__)); | |
357 | extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, | |
358 | int __pshared) __attribute__ ((__nothrow__)); | |
359 | extern int pthread_key_create (pthread_key_t *__key, | |
360 | void (*__destr_function) (void *)) __attribute__ ((__nothrow__)); | |
361 | extern int pthread_key_delete (pthread_key_t __key) __attribute__ ((__nothrow__)); | |
362 | extern int pthread_setspecific (pthread_key_t __key, | |
363 | __const void *__pointer) __attribute__ ((__nothrow__)); | |
364 | extern void *pthread_getspecific (pthread_key_t __key) __attribute__ ((__nothrow__)); | |
365 | extern int pthread_once (pthread_once_t *__once_control, | |
366 | void (*__init_routine) (void)); | |
367 | extern int pthread_setcancelstate (int __state, int *__oldstate); | |
368 | extern int pthread_setcanceltype (int __type, int *__oldtype); | |
369 | extern int pthread_cancel (pthread_t __cancelthread); | |
370 | extern void pthread_testcancel (void); | |
371 | extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer, | |
372 | void (*__routine) (void *), | |
373 | void *__arg) __attribute__ ((__nothrow__)); | |
374 | extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer, | |
375 | int __execute) __attribute__ ((__nothrow__)); | |
376 | extern int pthread_sigmask (int __how, | |
377 | __const __sigset_t *__restrict __newmask, | |
378 | __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__)); | |
379 | extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__)); | |
380 | extern int pthread_atfork (void (*__prepare) (void), | |
381 | void (*__parent) (void), | |
382 | void (*__child) (void)) __attribute__ ((__nothrow__)); | |
383 | extern void pthread_kill_other_threads_np (void) __attribute__ ((__nothrow__)); | |
384 | typedef struct { | |
385 | __off_t __pos; | |
386 | } __STDIO_fpos_t; | |
387 | typedef struct { | |
388 | __off64_t __pos; | |
389 | } __STDIO_fpos64_t; | |
390 | typedef __off64_t __offmax_t; | |
391 | struct __STDIO_FILE_STRUCT { | |
392 | unsigned short __modeflags; | |
393 | unsigned char __ungot[2]; | |
394 | int __filedes; | |
395 | unsigned char *__bufstart; | |
396 | unsigned char *__bufend; | |
397 | unsigned char *__bufpos; | |
398 | unsigned char *__bufread; | |
399 | unsigned char *__bufgetc_u; | |
400 | unsigned char *__bufputc_u; | |
401 | struct __STDIO_FILE_STRUCT *__nextopen; | |
402 | int __user_locking; | |
403 | pthread_mutex_t __lock; | |
404 | }; | |
405 | extern int __fgetc_unlocked(FILE *__stream); | |
406 | extern int __fputc_unlocked(int __c, FILE *__stream); | |
407 | extern FILE *__stdin; | |
408 | extern FILE *__stdout; | |
409 | typedef __builtin_va_list __gnuc_va_list; | |
410 | typedef __STDIO_fpos_t fpos_t; | |
411 | extern FILE *stdin; | |
412 | extern FILE *stdout; | |
413 | extern FILE *stderr; | |
414 | extern int remove (__const char *__filename) __attribute__ ((__nothrow__)); | |
415 | extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__)); | |
416 | extern FILE *tmpfile (void) ; | |
417 | extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)) ; | |
418 | extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)) ; | |
419 | extern char *tempnam (__const char *__dir, __const char *__pfx) | |
420 | __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; | |
421 | extern int fclose (FILE *__stream); | |
422 | extern int fflush (FILE *__stream); | |
423 | extern int fflush_unlocked (FILE *__stream); | |
424 | extern FILE *fopen (__const char *__restrict __filename, | |
425 | __const char *__restrict __modes) ; | |
426 | extern FILE *freopen (__const char *__restrict __filename, | |
427 | __const char *__restrict __modes, | |
428 | FILE *__restrict __stream) ; | |
429 | extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)) ; | |
430 | extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__)); | |
431 | extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, | |
432 | int __modes, size_t __n) __attribute__ ((__nothrow__)); | |
433 | extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, | |
434 | size_t __size) __attribute__ ((__nothrow__)); | |
435 | extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__)); | |
436 | extern int fprintf (FILE *__restrict __stream, | |
437 | __const char *__restrict __format, ...); | |
438 | extern int printf (__const char *__restrict __format, ...); | |
439 | extern int sprintf (char *__restrict __s, | |
440 | __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); | |
441 | extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, | |
442 | __gnuc_va_list __arg); | |
443 | extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); | |
444 | extern int vsprintf (char *__restrict __s, __const char *__restrict __format, | |
445 | __gnuc_va_list __arg) __attribute__ ((__nothrow__)); | |
446 | extern int snprintf (char *__restrict __s, size_t __maxlen, | |
447 | __const char *__restrict __format, ...) | |
448 | __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); | |
449 | extern int vsnprintf (char *__restrict __s, size_t __maxlen, | |
450 | __const char *__restrict __format, __gnuc_va_list __arg) | |
451 | __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); | |
452 | extern int fscanf (FILE *__restrict __stream, | |
453 | __const char *__restrict __format, ...) ; | |
454 | extern int scanf (__const char *__restrict __format, ...) ; | |
455 | extern int sscanf (__const char *__restrict __s, | |
456 | __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); | |
457 | extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, | |
458 | __gnuc_va_list __arg) | |
459 | __attribute__ ((__format__ (__scanf__, 2, 0))) ; | |
460 | extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) | |
461 | __attribute__ ((__format__ (__scanf__, 1, 0))) ; | |
462 | extern int vsscanf (__const char *__restrict __s, | |
463 | __const char *__restrict __format, __gnuc_va_list __arg) | |
464 | __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__scanf__, 2, 0))); | |
465 | extern int fgetc (FILE *__stream); | |
466 | extern int getc (FILE *__stream); | |
467 | extern int getchar (void); | |
468 | extern int getc_unlocked (FILE *__stream); | |
469 | extern int getchar_unlocked (void); | |
470 | extern int fgetc_unlocked (FILE *__stream); | |
471 | extern int fputc (int __c, FILE *__stream); | |
472 | extern int putc (int __c, FILE *__stream); | |
473 | extern int putchar (int __c); | |
474 | extern int fputc_unlocked (int __c, FILE *__stream); | |
475 | extern int putc_unlocked (int __c, FILE *__stream); | |
476 | extern int putchar_unlocked (int __c); | |
477 | extern int getw (FILE *__stream); | |
478 | extern int putw (int __w, FILE *__stream); | |
479 | extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) | |
480 | ; | |
481 | extern char *gets (char *__s) ; | |
482 | extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); | |
483 | extern int puts (__const char *__s); | |
484 | extern int ungetc (int __c, FILE *__stream); | |
485 | extern size_t fread (void *__restrict __ptr, size_t __size, | |
486 | size_t __n, FILE *__restrict __stream) ; | |
487 | extern size_t fwrite (__const void *__restrict __ptr, size_t __size, | |
488 | size_t __n, FILE *__restrict __s) ; | |
489 | extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, | |
490 | size_t __n, FILE *__restrict __stream) ; | |
491 | extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, | |
492 | size_t __n, FILE *__restrict __stream) ; | |
493 | extern int fseek (FILE *__stream, long int __off, int __whence); | |
494 | extern long int ftell (FILE *__stream) ; | |
495 | extern void rewind (FILE *__stream); | |
496 | extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); | |
497 | extern int fsetpos (FILE *__stream, __const fpos_t *__pos); | |
498 | extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__)); | |
499 | extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ; | |
500 | extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ; | |
501 | extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__)); | |
502 | extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; | |
503 | extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; | |
504 | extern void perror (__const char *__s); | |
505 | extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ; | |
506 | extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; | |
507 | extern FILE *popen (__const char *__command, __const char *__modes) ; | |
508 | extern int pclose (FILE *__stream); | |
509 | extern char *ctermid (char *__s) __attribute__ ((__nothrow__)); | |
510 | extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__)); | |
511 | extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ; | |
512 | extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__)); | |
513 | ||
514 | ||
515 | ||
516 | typedef char _raw8; | |
517 | typedef short _raw16; | |
518 | typedef int _raw32; | |
519 | typedef short __v2hi __attribute__ ((vector_size (4))); | |
520 | typedef __v2hi raw2x16; | |
521 | __inline__ | |
522 | __attribute__ ((always_inline)) | |
523 | static raw2x16 compose_2x16(_raw16 _x, _raw16 _y) { | |
524 | return __builtin_bfin_compose_2x16(_x, _y); | |
525 | } | |
526 | __inline__ | |
527 | __attribute__ ((always_inline)) | |
528 | static _raw16 high_of_2x16(raw2x16 _x) { | |
529 | return __builtin_bfin_extract_hi(_x); | |
530 | } | |
531 | __inline__ | |
532 | __attribute__ ((always_inline)) | |
533 | static _raw16 low_of_2x16(raw2x16 _x) { | |
534 | return __builtin_bfin_extract_lo(_x); | |
535 | } | |
536 | int main (int argc, char *argv[]) | |
537 | { | |
538 | raw2x16 a = compose_2x16(2, 3); | |
539 | raw2x16 b = compose_2x16(4, 5); | |
540 | int z = __builtin_bfin_mulhisilh(a, b); | |
541 | printf("z=%d\n", z); | |
542 | return 0; | |
543 | } |