5 #define __STDC_HOSTED__ 1
9 #define __GNUC_MINOR__ 1
11 #define __GNUC_PATCHLEVEL__ 2
13 #define __SIZE_TYPE__ unsigned int
15 #define __PTRDIFF_TYPE__ int
17 #define __WCHAR_TYPE__ long int
19 #define __WINT_TYPE__ unsigned int
21 #define __INTMAX_TYPE__ long long int
23 #define __UINTMAX_TYPE__ long long unsigned int
25 #define __GXX_ABI_VERSION 1002
27 #define __SCHAR_MAX__ 127
29 #define __SHRT_MAX__ 32767
31 #define __INT_MAX__ 2147483647
33 #define __LONG_MAX__ 2147483647L
35 #define __LONG_LONG_MAX__ 9223372036854775807LL
37 #define __WCHAR_MAX__ 2147483647
39 #define __CHAR_BIT__ 8
41 #define __INTMAX_MAX__ 9223372036854775807LL
43 #define __FLT_EVAL_METHOD__ 2
45 #define __FLT_RADIX__ 2
47 #define __FLT_MANT_DIG__ 24
51 #define __FLT_MIN_EXP__ (-125)
53 #define __FLT_MIN_10_EXP__ (-37)
55 #define __FLT_MAX_EXP__ 128
57 #define __FLT_MAX_10_EXP__ 38
59 #define __FLT_MAX__ 3.40282347e+38F
61 #define __FLT_MIN__ 1.17549435e-38F
63 #define __FLT_EPSILON__ 1.19209290e-7F
65 #define __FLT_DENORM_MIN__ 1.40129846e-45F
67 #define __FLT_HAS_INFINITY__ 1
69 #define __FLT_HAS_QUIET_NAN__ 1
71 #define __DBL_MANT_DIG__ 53
73 #define __DBL_DIG__ 15
75 #define __DBL_MIN_EXP__ (-1021)
77 #define __DBL_MIN_10_EXP__ (-307)
79 #define __DBL_MAX_EXP__ 1024
81 #define __DBL_MAX_10_EXP__ 308
83 #define __DBL_MAX__ 1.7976931348623157e+308
85 #define __DBL_MIN__ 2.2250738585072014e-308
87 #define __DBL_EPSILON__ 2.2204460492503131e-16
89 #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
91 #define __DBL_HAS_INFINITY__ 1
93 #define __DBL_HAS_QUIET_NAN__ 1
95 #define __LDBL_MANT_DIG__ 64
97 #define __LDBL_DIG__ 18
99 #define __LDBL_MIN_EXP__ (-16381)
101 #define __LDBL_MIN_10_EXP__ (-4931)
103 #define __LDBL_MAX_EXP__ 16384
105 #define __LDBL_MAX_10_EXP__ 4932
107 #define __DECIMAL_DIG__ 21
109 #define __LDBL_MAX__ 1.18973149535723176502e+4932L
111 #define __LDBL_MIN__ 3.36210314311209350626e-4932L
113 #define __LDBL_EPSILON__ 1.08420217248550443401e-19L
115 #define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
117 #define __LDBL_HAS_INFINITY__ 1
119 #define __LDBL_HAS_QUIET_NAN__ 1
121 #define __REGISTER_PREFIX__
123 #define __USER_LABEL_PREFIX__
125 #define __VERSION__ "4.1.2 (Gentoo 4.1.2 p1.0.2)"
127 #define __OPTIMIZE__ 1
129 #define __FINITE_MATH_ONLY__ 0
137 #define __tune_athlon__ 1
139 #define __tune_athlon_sse__ 1
145 #define __3dNOW_A__ 1
153 #define __athlon_sse__ 1
155 #define __gnu_linux__ 1
171 #define LOCALEDIR "/usr/share/locale"
173 #define ROOT_SYSCONFDIR "/etc"
175 #define PACKAGE_NAME ""
177 #define PACKAGE_TARNAME ""
179 #define PACKAGE_VERSION ""
181 #define PACKAGE_STRING ""
183 #define PACKAGE_BUGREPORT ""
185 #define STDC_HEADERS 1
187 #define HAVE_SYS_TYPES_H 1
189 #define HAVE_SYS_STAT_H 1
191 #define HAVE_STDLIB_H 1
193 #define HAVE_STRING_H 1
195 #define HAVE_MEMORY_H 1
197 #define HAVE_STRINGS_H 1
199 #define HAVE_INTTYPES_H 1
201 #define HAVE_STDINT_H 1
203 #define HAVE_UNISTD_H 1
205 #define ENABLE_HTREE 1
207 #define ENABLE_SWAPFS 1
213 #define PACKAGE "e2fsprogs"
215 #define VERSION "0.14.1"
217 #define HAVE_LONG_LONG 1
219 #define HAVE_LONG_DOUBLE 1
221 #define HAVE_WCHAR_T 1
223 #define HAVE_WINT_T 1
225 #define HAVE_INTTYPES_H_WITH_UINTMAX 1
227 #define HAVE_STDINT_H_WITH_UINTMAX 1
229 #define HAVE_INTMAX_T 1
231 #define HAVE_POSIX_PRINTF 1
233 #define HAVE_ALLOCA_H 1
235 #define HAVE_ALLOCA 1
237 #define HAVE_STDLIB_H 1
239 #define HAVE_UNISTD_H 1
241 #define HAVE_GETPAGESIZE 1
245 #define INTDIV0_RAISES_SIGFPE 1
247 #define HAVE_UNSIGNED_LONG_LONG 1
249 #define HAVE_UINTMAX_T 1
251 #define HAVE_INTTYPES_H 1
253 #define HAVE_STDINT_H 1
255 #define HAVE_STDINT_H 1
257 #define HAVE_ARGZ_H 1
259 #define HAVE_LIMITS_H 1
261 #define HAVE_LOCALE_H 1
263 #define HAVE_NL_TYPES_H 1
265 #define HAVE_MALLOC_H 1
267 #define HAVE_STDDEF_H 1
269 #define HAVE_STDLIB_H 1
271 #define HAVE_STRING_H 1
273 #define HAVE_UNISTD_H 1
275 #define HAVE_SYS_PARAM_H 1
277 #define HAVE_ASPRINTF 1
279 #define HAVE_FWPRINTF 1
281 #define HAVE_GETCWD 1
283 #define HAVE_GETEGID 1
285 #define HAVE_GETEUID 1
287 #define HAVE_GETGID 1
289 #define HAVE_GETUID 1
291 #define HAVE_MEMPCPY 1
293 #define HAVE_MUNMAP 1
295 #define HAVE_PUTENV 1
297 #define HAVE_SETENV 1
299 #define HAVE_SETLOCALE 1
301 #define HAVE_SNPRINTF 1
303 #define HAVE_STPCPY 1
305 #define HAVE_STRCASECMP 1
307 #define HAVE_STRDUP 1
309 #define HAVE_STRTOUL 1
311 #define HAVE_TSEARCH 1
313 #define HAVE_WCSLEN 1
315 #define HAVE___ARGZ_COUNT 1
317 #define HAVE___ARGZ_STRINGIFY 1
319 #define HAVE___ARGZ_NEXT 1
321 #define HAVE___FSETLOCKING 1
323 #define HAVE_DECL__SNPRINTF 0
325 #define HAVE_DECL__SNWPRINTF 0
327 #define HAVE_DECL_FEOF_UNLOCKED 1
329 #define HAVE_DECL_FGETS_UNLOCKED 0
331 #define HAVE_DECL_GETC_UNLOCKED 1
337 #define HAVE_LANGINFO_CODESET 1
339 #define HAVE_LC_MESSAGES 1
343 #define HAVE_GETTEXT 1
345 #define HAVE_DCGETTEXT 1
347 #define HAVE_STDLIB_H 1
349 #define HAVE_UNISTD_H 1
351 #define HAVE_STDARG_H 1
353 #define HAVE_STDINT_H 1
355 #define HAVE_ERRNO_H 1
357 #define HAVE_MALLOC_H 1
359 #define HAVE_MNTENT_H 1
361 #define HAVE_PATHS_H 1
363 #define HAVE_DIRENT_H 1
365 #define HAVE_GETOPT_H 1
367 #define HAVE_SETJMP_H 1
369 #define HAVE_SIGNAL_H 1
371 #define HAVE_TERMIOS_H 1
373 #define HAVE_LINUX_FD_H 1
375 #define HAVE_LINUX_MAJOR_H 1
377 #define HAVE_SYS_IOCTL_H 1
379 #define HAVE_SYS_MMAN_H 1
381 #define HAVE_SYS_PRCTL_H 1
383 #define HAVE_SYS_QUEUE_H 1
385 #define HAVE_SYS_SOCKET_H 1
387 #define HAVE_SYS_SYSMACROS_H 1
389 #define HAVE_SYS_TIME_H 1
391 #define HAVE_SYS_STAT_H 1
393 #define HAVE_SYS_TYPES_H 1
395 #define HAVE_SYS_WAIT_H 1
397 #define HAVE_SYS_RESOURCE_H 1
399 #define HAVE_SYS_SYSCALL_H 1
401 #define HAVE_NETINET_IN_H 1
403 #define HAVE_UTIME_H 1
405 #define HAVE_SYS_MOUNT_H 1
407 #define HAVE_NET_IF_H 1
409 #define HAVE_VPRINTF 1
411 #define HAVE_RECLEN_DIRENT 1
413 #define HAVE_TYPE_SSIZE_T 1
415 #define HAVE_LSEEK64_PROTOTYPE 1
417 #define SIZEOF_SHORT 2
421 #define SIZEOF_LONG 4
423 #define SIZEOF_LONG_LONG 8
425 #define HAVE_INTTYPES_H 1
427 #define HAVE_INTPTR_T 1
429 #define HAVE_GETRUSAGE 1
431 #define HAVE_LLSEEK 1
433 #define HAVE_LSEEK64 1
435 #define HAVE_OPEN64 1
437 #define HAVE_FSTAT64 1
439 #define HAVE_STRTOULL 1
441 #define HAVE_STRCASECMP 1
443 #define HAVE_SRANDOM 1
445 #define HAVE_JRAND48 1
447 #define HAVE_FCHOWN 1
449 #define HAVE_MALLINFO 1
451 #define HAVE_FDATASYNC 1
453 #define HAVE_STRNLEN 1
455 #define HAVE_STRPTIME 1
457 #define HAVE_STRDUP 1
459 #define HAVE_SYSCONF 1
461 #define HAVE_PATHCONF 1
463 #define HAVE_POSIX_MEMALIGN 1
465 #define HAVE_MEMALIGN 1
467 #define HAVE_VALLOC 1
469 #define HAVE___SECURE_GETENV 1
477 #define HAVE_SETRESUID 1
479 #define HAVE_SETRESGID 1
481 #define HAVE_DLOPEN 1
483 #define HAVE_EXT2_IOCTLS 1
485 #define RESOURCE_TRACK 1
488 # 1 "/usr/include/stdio.h" 1 3 4
489 # 27 "/usr/include/stdio.h" 3 4
491 # 1 "/usr/include/features.h" 1 3 4
492 # 20 "/usr/include/features.h" 3 4
493 #define _FEATURES_H 1
494 # 92 "/usr/include/features.h" 3 4
498 #undef __USE_POSIX199309
499 #undef __USE_POSIX199506
501 #undef __USE_XOPEN_EXTENDED
504 #undef __USE_LARGEFILE
505 #undef __USE_LARGEFILE64
506 #undef __USE_FILE_OFFSET64
512 #undef __USE_REENTRANT
513 #undef __USE_FORTIFY_LEVEL
515 #undef __KERNEL_STRICT_NAMES
520 #define __KERNEL_STRICT_NAMES
525 # 131 "/usr/include/features.h" 3 4
526 #define __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
527 # 174 "/usr/include/features.h" 3 4
528 #define _BSD_SOURCE 1
529 #define _SVID_SOURCE 1
530 # 191 "/usr/include/features.h" 3 4
531 #define _POSIX_SOURCE 1
537 #define _POSIX_C_SOURCE 200112L
542 #define __USE_POSIX 1
546 #define __USE_POSIX2 1
550 #define __USE_POSIX199309 1
554 #define __USE_POSIX199506 1
558 #define __USE_XOPEN2K 1
559 # 253 "/usr/include/features.h" 3 4
569 # 284 "/usr/include/features.h" 3 4
570 #define __USE_FORTIFY_LEVEL 0
574 #define __STDC_IEC_559__ 1
575 #define __STDC_IEC_559_COMPLEX__ 1
578 #define __STDC_ISO_10646__ 200009L
586 #undef __GNU_LIBRARY__
587 #define __GNU_LIBRARY__ 6
592 #define __GLIBC_MINOR__ 6
594 #define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
602 #define __GLIBC_HAVE_LONG_LONG 1
608 # 1 "/usr/include/sys/cdefs.h" 1 3 4
609 # 21 "/usr/include/sys/cdefs.h" 3 4
610 #define _SYS_CDEFS_H 1
611 # 36 "/usr/include/sys/cdefs.h" 3 4
614 # 47 "/usr/include/sys/cdefs.h" 3 4
615 #define __THROW __attribute__ ((__nothrow__))
616 #define __NTH(fct) __attribute__ ((__nothrow__)) fct
617 # 74 "/usr/include/sys/cdefs.h" 3 4
618 #define __P(args) args
619 #define __PMT(args) args
624 #define __CONCAT(x,y) x ## y
625 #define __STRING(x) #x
628 #define __ptr_t void *
629 #define __long_double_t long double
637 #define __BEGIN_DECLS
639 # 114 "/usr/include/sys/cdefs.h" 3 4
640 #define __BEGIN_NAMESPACE_STD
641 #define __END_NAMESPACE_STD
642 #define __USING_NAMESPACE_STD(name)
643 #define __BEGIN_NAMESPACE_C99
644 #define __END_NAMESPACE_C99
645 #define __USING_NAMESPACE_C99(name)
658 #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
659 #define __bos0(ptr) __builtin_object_size (ptr, 0)
660 #define __warndecl(name,msg) extern void name (void)
667 # 167 "/usr/include/sys/cdefs.h" 3 4
668 #define __REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias))
673 #define __REDIRECT_NTH(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) __THROW
676 #define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
677 #define __ASMNAME2(prefix,cname) __STRING (prefix) cname
678 # 197 "/usr/include/sys/cdefs.h" 3 4
679 #define __attribute_malloc__ __attribute__ ((__malloc__))
680 # 206 "/usr/include/sys/cdefs.h" 3 4
681 #define __attribute_pure__ __attribute__ ((__pure__))
682 # 215 "/usr/include/sys/cdefs.h" 3 4
683 #define __attribute_used__ __attribute__ ((__used__))
684 #define __attribute_noinline__ __attribute__ ((__noinline__))
692 #define __attribute_deprecated__ __attribute__ ((__deprecated__))
693 # 236 "/usr/include/sys/cdefs.h" 3 4
694 #define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
695 # 246 "/usr/include/sys/cdefs.h" 3 4
696 #define __attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b)))
697 # 255 "/usr/include/sys/cdefs.h" 3 4
698 #define __nonnull(params) __attribute__ ((__nonnull__ params))
706 #define __attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__))
707 # 272 "/usr/include/sys/cdefs.h" 3 4
713 #define __always_inline __inline __attribute__ ((__always_inline__))
714 # 289 "/usr/include/sys/cdefs.h" 3 4
715 #define __extern_inline extern __inline
716 #define __extern_always_inline extern __always_inline
717 # 310 "/usr/include/sys/cdefs.h" 3 4
718 #define __restrict_arr __restrict
719 # 324 "/usr/include/sys/cdefs.h" 3 4
720 # 1 "/usr/include/bits/wordsize.h" 1 3 4
721 # 19 "/usr/include/bits/wordsize.h" 3 4
722 #define __WORDSIZE 32
723 # 325 "/usr/include/sys/cdefs.h" 2 3 4
724 # 342 "/usr/include/sys/cdefs.h" 3 4
725 #define __LDBL_REDIR1(name,proto,alias) name proto
726 #define __LDBL_REDIR(name,proto) name proto
727 #define __LDBL_REDIR1_NTH(name,proto,alias) name proto __THROW
728 #define __LDBL_REDIR_NTH(name,proto) name proto __THROW
729 #define __LDBL_REDIR_DECL(name)
730 # 323 "/usr/include/features.h" 2 3 4
731 # 337 "/usr/include/features.h" 3 4
732 #define __USE_EXTERN_INLINES 1
740 # 1 "/usr/include/gnu/stubs.h" 1 3 4
744 # 1 "/usr/include/bits/wordsize.h" 1 3 4
745 # 19 "/usr/include/bits/wordsize.h" 3 4
746 #define __WORDSIZE 32
747 # 5 "/usr/include/gnu/stubs.h" 2 3 4
750 # 1 "/usr/include/gnu/stubs-32.h" 1 3 4
751 # 10 "/usr/include/gnu/stubs-32.h" 3 4
752 #define __stub___kernel_cosl
753 #define __stub___kernel_sinl
754 #define __stub___kernel_tanl
755 #define __stub_chflags
756 #define __stub_fattach
757 #define __stub_fchflags
758 #define __stub_fdetach
760 #define __stub_lchmod
761 #define __stub_revoke
762 #define __stub_setlogin
763 #define __stub_sigreturn
766 # 8 "/usr/include/gnu/stubs.h" 2 3 4
767 # 346 "/usr/include/features.h" 2 3 4
768 # 29 "/usr/include/stdio.h" 2 3 4
772 #define __need_size_t
774 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
775 # 189 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
779 #define _SYS_SIZE_T_H
785 #define _SIZE_T_DEFINED_
786 #define _SIZE_T_DEFINED
787 #define _BSD_SIZE_T_DEFINED_
788 #define _SIZE_T_DECLARED
789 #define ___int_size_t_h
801 typedef unsigned int size_t;
802 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
804 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
810 #define NULL ((void *)0)
817 # 35 "/usr/include/stdio.h" 2 3 4
819 # 1 "/usr/include/bits/types.h" 1 3 4
820 # 25 "/usr/include/bits/types.h" 3 4
821 #define _BITS_TYPES_H 1
824 # 1 "/usr/include/bits/wordsize.h" 1 3 4
825 # 19 "/usr/include/bits/wordsize.h" 3 4
826 #define __WORDSIZE 32
827 # 29 "/usr/include/bits/types.h" 2 3 4
829 #define __need_size_t
830 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
831 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
833 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
835 # 32 "/usr/include/bits/types.h" 2 3 4
838 typedef unsigned char __u_char;
839 typedef unsigned short int __u_short;
840 typedef unsigned int __u_int;
841 typedef unsigned long int __u_long;
844 typedef signed char __int8_t;
845 typedef unsigned char __uint8_t;
846 typedef signed short int __int16_t;
847 typedef unsigned short int __uint16_t;
848 typedef signed int __int32_t;
849 typedef unsigned int __uint32_t;
854 __extension__ typedef signed long long int __int64_t;
855 __extension__ typedef unsigned long long int __uint64_t;
863 __extension__ typedef long long int __quad_t;
864 __extension__ typedef unsigned long long int __u_quad_t;
865 # 102 "/usr/include/bits/types.h" 3 4
866 #define __S16_TYPE short int
867 #define __U16_TYPE unsigned short int
868 #define __S32_TYPE int
869 #define __U32_TYPE unsigned int
870 #define __SLONGWORD_TYPE long int
871 #define __ULONGWORD_TYPE unsigned long int
873 #define __SQUAD_TYPE __quad_t
874 #define __UQUAD_TYPE __u_quad_t
875 #define __SWORD_TYPE int
876 #define __UWORD_TYPE unsigned int
877 #define __SLONG32_TYPE long int
878 #define __ULONG32_TYPE unsigned long int
879 #define __S64_TYPE __quad_t
880 #define __U64_TYPE __u_quad_t
883 #define __STD_TYPE __extension__ typedef
884 # 134 "/usr/include/bits/types.h" 3 4
885 # 1 "/usr/include/bits/typesizes.h" 1 3 4
886 # 25 "/usr/include/bits/typesizes.h" 3 4
887 #define _BITS_TYPESIZES_H 1
892 #define __DEV_T_TYPE __UQUAD_TYPE
893 #define __UID_T_TYPE __U32_TYPE
894 #define __GID_T_TYPE __U32_TYPE
895 #define __INO_T_TYPE __ULONGWORD_TYPE
896 #define __INO64_T_TYPE __UQUAD_TYPE
897 #define __MODE_T_TYPE __U32_TYPE
898 #define __NLINK_T_TYPE __UWORD_TYPE
899 #define __OFF_T_TYPE __SLONGWORD_TYPE
900 #define __OFF64_T_TYPE __SQUAD_TYPE
901 #define __PID_T_TYPE __S32_TYPE
902 #define __RLIM_T_TYPE __ULONGWORD_TYPE
903 #define __RLIM64_T_TYPE __UQUAD_TYPE
904 #define __BLKCNT_T_TYPE __SLONGWORD_TYPE
905 #define __BLKCNT64_T_TYPE __SQUAD_TYPE
906 #define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
907 #define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
908 #define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
909 #define __FSFILCNT64_T_TYPE __UQUAD_TYPE
910 #define __ID_T_TYPE __U32_TYPE
911 #define __CLOCK_T_TYPE __SLONGWORD_TYPE
912 #define __TIME_T_TYPE __SLONGWORD_TYPE
913 #define __USECONDS_T_TYPE __U32_TYPE
914 #define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
915 #define __DADDR_T_TYPE __S32_TYPE
916 #define __SWBLK_T_TYPE __SLONGWORD_TYPE
917 #define __KEY_T_TYPE __S32_TYPE
918 #define __CLOCKID_T_TYPE __S32_TYPE
919 #define __TIMER_T_TYPE void *
920 #define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
921 #define __FSID_T_TYPE struct { int __val[2]; }
922 #define __SSIZE_T_TYPE __SWORD_TYPE
925 #define __FD_SETSIZE 1024
926 # 135 "/usr/include/bits/types.h" 2 3 4
929 __extension__ typedef __u_quad_t __dev_t;
930 __extension__ typedef unsigned int __uid_t;
931 __extension__ typedef unsigned int __gid_t;
932 __extension__ typedef unsigned long int __ino_t;
933 __extension__ typedef __u_quad_t __ino64_t;
934 __extension__ typedef unsigned int __mode_t;
935 __extension__ typedef unsigned int __nlink_t;
936 __extension__ typedef long int __off_t;
937 __extension__ typedef __quad_t __off64_t;
938 __extension__ typedef int __pid_t;
939 __extension__ typedef struct { int __val[2]; } __fsid_t;
940 __extension__ typedef long int __clock_t;
941 __extension__ typedef unsigned long int __rlim_t;
942 __extension__ typedef __u_quad_t __rlim64_t;
943 __extension__ typedef unsigned int __id_t;
944 __extension__ typedef long int __time_t;
945 __extension__ typedef unsigned int __useconds_t;
946 __extension__ typedef long int __suseconds_t;
948 __extension__ typedef int __daddr_t;
949 __extension__ typedef long int __swblk_t;
950 __extension__ typedef int __key_t;
953 __extension__ typedef int __clockid_t;
956 __extension__ typedef void * __timer_t;
959 __extension__ typedef long int __blksize_t;
964 __extension__ typedef long int __blkcnt_t;
965 __extension__ typedef __quad_t __blkcnt64_t;
968 __extension__ typedef unsigned long int __fsblkcnt_t;
969 __extension__ typedef __u_quad_t __fsblkcnt64_t;
972 __extension__ typedef unsigned long int __fsfilcnt_t;
973 __extension__ typedef __u_quad_t __fsfilcnt64_t;
975 __extension__ typedef int __ssize_t;
979 typedef __off64_t __loff_t;
980 typedef __quad_t *__qaddr_t;
981 typedef char *__caddr_t;
984 __extension__ typedef int __intptr_t;
987 __extension__ typedef unsigned int __socklen_t;
991 # 37 "/usr/include/stdio.h" 2 3 4
993 #define __need___FILE
1004 typedef struct _IO_FILE FILE;
1012 #define __FILE_defined 1
1020 typedef struct _IO_FILE __FILE;
1022 #define ____FILE_defined 1
1024 #undef __need___FILE
1028 #define _STDIO_USES_IOSTREAM
1030 # 1 "/usr/include/libio.h" 1 3 4
1031 # 30 "/usr/include/libio.h" 3 4
1034 # 1 "/usr/include/_G_config.h" 1 3 4
1039 #define _G_config_h 1
1044 #define __need_size_t
1045 #define __need_wchar_t
1046 #define __need_wint_t
1048 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
1049 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1050 #undef __need_size_t
1051 # 265 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1059 #define _BSD_WCHAR_T_
1060 #define _WCHAR_T_DEFINED_
1061 #define _WCHAR_T_DEFINED
1063 #define ___int_wchar_t_h
1064 #define __INT_WCHAR_T_H
1065 #define _GCC_WCHAR_T
1066 #define _WCHAR_T_DECLARED
1067 # 292 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1068 #undef _BSD_WCHAR_T_
1069 # 326 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1070 typedef long int wchar_t;
1071 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1072 #undef __need_wchar_t
1082 typedef unsigned int wint_t;
1084 #undef __need_wint_t
1085 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1091 #define NULL ((void *)0)
1098 # 15 "/usr/include/_G_config.h" 2 3 4
1099 # 23 "/usr/include/_G_config.h" 3 4
1100 #define __need_mbstate_t
1101 # 1 "/usr/include/wchar.h" 1 3 4
1102 # 47 "/usr/include/wchar.h" 3 4
1103 #define __need_wint_t
1104 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
1105 # 357 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1106 #undef __need_wint_t
1107 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1109 # 49 "/usr/include/wchar.h" 2 3 4
1111 # 1 "/usr/include/bits/wchar.h" 1 3 4
1112 # 21 "/usr/include/bits/wchar.h" 3 4
1113 #define _BITS_WCHAR_H 1
1115 #define __WCHAR_MIN (-2147483647l - 1l)
1116 #define __WCHAR_MAX (2147483647l)
1117 # 51 "/usr/include/wchar.h" 2 3 4
1118 # 74 "/usr/include/wchar.h" 3 4
1119 #define __mbstate_t_defined 1
1131 #undef __need_mbstate_t
1132 # 25 "/usr/include/_G_config.h" 2 3 4
1133 #define _G_size_t size_t
1137 __mbstate_t __state;
1142 __mbstate_t __state;
1144 #define _G_ssize_t __ssize_t
1145 #define _G_off_t __off_t
1146 #define _G_off64_t __off64_t
1147 #define _G_pid_t __pid_t
1148 #define _G_uid_t __uid_t
1149 #define _G_wchar_t wchar_t
1150 #define _G_wint_t wint_t
1151 #define _G_stat64 stat64
1152 # 1 "/usr/include/gconv.h" 1 3 4
1153 # 24 "/usr/include/gconv.h" 3 4
1157 #define __need_mbstate_t
1158 # 1 "/usr/include/wchar.h" 1 3 4
1159 # 47 "/usr/include/wchar.h" 3 4
1160 #define __need_wint_t
1161 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
1162 # 357 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1163 #undef __need_wint_t
1164 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1166 # 49 "/usr/include/wchar.h" 2 3 4
1167 # 86 "/usr/include/wchar.h" 3 4
1168 #undef __need_mbstate_t
1169 # 29 "/usr/include/gconv.h" 2 3 4
1170 #define __need_size_t
1171 #define __need_wchar_t
1172 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
1173 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1174 #undef __need_size_t
1175 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1176 #undef __need_wchar_t
1177 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1179 # 32 "/usr/include/gconv.h" 2 3 4
1182 #define __UNKNOWN_10646_CHAR ((wchar_t) 0xfffd)
1192 __GCONV_EMPTY_INPUT,
1193 __GCONV_FULL_OUTPUT,
1194 __GCONV_ILLEGAL_INPUT,
1195 __GCONV_INCOMPLETE_INPUT,
1197 __GCONV_ILLEGAL_DESCRIPTOR,
1198 __GCONV_INTERNAL_ERROR
1205 __GCONV_IS_LAST = 0x0001,
1206 __GCONV_IGNORE_ERRORS = 0x0002
1211 struct __gconv_step;
1212 struct __gconv_step_data;
1213 struct __gconv_loaded_object;
1214 struct __gconv_trans_data;
1218 typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
1219 __const unsigned char **, __const unsigned char *,
1220 unsigned char **, size_t *, int, int);
1223 typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char);
1226 typedef int (*__gconv_init_fct) (struct __gconv_step *);
1227 typedef void (*__gconv_end_fct) (struct __gconv_step *);
1231 typedef int (*__gconv_trans_fct) (struct __gconv_step *,
1232 struct __gconv_step_data *, void *,
1233 __const unsigned char *,
1234 __const unsigned char **,
1235 __const unsigned char *, unsigned char **,
1239 typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
1240 __const unsigned char *,
1241 unsigned char *, unsigned char *);
1244 typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
1248 typedef int (*__gconv_trans_init_fct) (void **, const char *);
1249 typedef void (*__gconv_trans_end_fct) (void *);
1251 struct __gconv_trans_data
1254 __gconv_trans_fct __trans_fct;
1255 __gconv_trans_context_fct __trans_context_fct;
1256 __gconv_trans_end_fct __trans_end_fct;
1258 struct __gconv_trans_data *__next;
1265 struct __gconv_loaded_object *__shlib_handle;
1266 __const char *__modname;
1274 __gconv_btowc_fct __btowc_fct;
1275 __gconv_init_fct __init_fct;
1276 __gconv_end_fct __end_fct;
1280 int __min_needed_from;
1281 int __max_needed_from;
1282 int __min_needed_to;
1283 int __max_needed_to;
1293 struct __gconv_step_data
1295 unsigned char *__outbuf;
1296 unsigned char *__outbufend;
1304 int __invocation_counter;
1310 __mbstate_t *__statep;
1311 __mbstate_t __state;
1315 struct __gconv_trans_data *__trans;
1320 typedef struct __gconv_info
1323 struct __gconv_step *__steps;
1324 __extension__ struct __gconv_step_data __data [];
1326 # 45 "/usr/include/_G_config.h" 2 3 4
1329 struct __gconv_info __cd;
1332 struct __gconv_info __cd;
1333 struct __gconv_step_data __data;
1337 typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
1338 typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
1339 typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
1340 typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
1342 #define _G_HAVE_BOOL 1
1346 #define _G_HAVE_ATEXIT 1
1347 #define _G_HAVE_SYS_CDEFS 1
1348 #define _G_HAVE_SYS_WAIT 1
1349 #define _G_NEED_STDARG_H 1
1350 #define _G_va_list __gnuc_va_list
1352 #define _G_HAVE_PRINTF_FP 1
1353 #define _G_HAVE_MMAP 1
1354 #define _G_HAVE_MREMAP 1
1355 #define _G_HAVE_LONG_DOUBLE_IO 1
1356 #define _G_HAVE_IO_FILE_OPEN 1
1357 #define _G_HAVE_IO_GETLINE_INFO 1
1359 #define _G_IO_IO_FILE_VERSION 0x20001
1361 #define _G_OPEN64 __open64
1362 #define _G_LSEEK64 __lseek64
1363 #define _G_MMAP64 __mmap64
1364 #define _G_FSTAT64(fd,buf) __fxstat64 (_STAT_VER, fd, buf)
1367 #define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE)
1369 #define _G_BUFSIZ 8192
1372 #define _G_NAMES_HAVE_UNDERSCORE 0
1373 #define _G_VTABLE_LABEL_HAS_LENGTH 1
1374 #define _G_USING_THUNKS 1
1375 #define _G_VTABLE_LABEL_PREFIX "__vt_"
1376 #define _G_VTABLE_LABEL_PREFIX_ID __vt_
1380 #define _G_ARGS(ARGLIST) ARGLIST
1381 # 33 "/usr/include/libio.h" 2 3 4
1383 #define _IO_pos_t _G_fpos_t
1384 #define _IO_fpos_t _G_fpos_t
1385 #define _IO_fpos64_t _G_fpos64_t
1386 #define _IO_size_t _G_size_t
1387 #define _IO_ssize_t _G_ssize_t
1388 #define _IO_off_t _G_off_t
1389 #define _IO_off64_t _G_off64_t
1390 #define _IO_pid_t _G_pid_t
1391 #define _IO_uid_t _G_uid_t
1392 #define _IO_iconv_t _G_iconv_t
1393 #define _IO_HAVE_SYS_WAIT _G_HAVE_SYS_WAIT
1394 #define _IO_HAVE_ST_BLKSIZE _G_HAVE_ST_BLKSIZE
1395 #define _IO_BUFSIZ _G_BUFSIZ
1396 #define _IO_va_list _G_va_list
1397 #define _IO_wint_t _G_wint_t
1401 #define __need___va_list
1402 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stdarg.h" 1 3 4
1403 # 37 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stdarg.h" 3 4
1404 #undef __need___va_list
1409 #define __GNUC_VA_LIST
1410 typedef __builtin_va_list __gnuc_va_list;
1411 # 54 "/usr/include/libio.h" 2 3 4
1414 #define _IO_va_list __gnuc_va_list
1415 # 76 "/usr/include/libio.h" 3 4
1416 #define _PARAMS(protos) __P(protos)
1424 #define _IO_UNIFIED_JUMPTABLES 1
1431 # 105 "/usr/include/libio.h" 3 4
1432 #define _IOS_INPUT 1
1433 #define _IOS_OUTPUT 2
1434 #define _IOS_ATEND 4
1435 #define _IOS_APPEND 8
1436 #define _IOS_TRUNC 16
1437 #define _IOS_NOCREATE 32
1438 #define _IOS_NOREPLACE 64
1439 #define _IOS_BIN 128
1447 #define _IO_MAGIC 0xFBAD0000
1448 #define _OLD_STDIO_MAGIC 0xFABC0000
1449 #define _IO_MAGIC_MASK 0xFFFF0000
1450 #define _IO_USER_BUF 1
1451 #define _IO_UNBUFFERED 2
1452 #define _IO_NO_READS 4
1453 #define _IO_NO_WRITES 8
1454 #define _IO_EOF_SEEN 0x10
1455 #define _IO_ERR_SEEN 0x20
1456 #define _IO_DELETE_DONT_CLOSE 0x40
1457 #define _IO_LINKED 0x80
1458 #define _IO_IN_BACKUP 0x100
1459 #define _IO_LINE_BUF 0x200
1460 #define _IO_TIED_PUT_GET 0x400
1461 #define _IO_CURRENTLY_PUTTING 0x800
1462 #define _IO_IS_APPENDING 0x1000
1463 #define _IO_IS_FILEBUF 0x2000
1464 #define _IO_BAD_SEEN 0x4000
1465 #define _IO_USER_LOCK 0x8000
1467 #define _IO_FLAGS2_MMAP 1
1468 #define _IO_FLAGS2_NOTCANCEL 2
1472 #define _IO_FLAGS2_USER_WBUF 8
1475 #define _IO_SKIPWS 01
1477 #define _IO_RIGHT 04
1478 #define _IO_INTERNAL 010
1481 #define _IO_HEX 0100
1482 #define _IO_SHOWBASE 0200
1483 #define _IO_SHOWPOINT 0400
1484 #define _IO_UPPERCASE 01000
1485 #define _IO_SHOWPOS 02000
1486 #define _IO_SCIENTIFIC 04000
1487 #define _IO_FIXED 010000
1488 #define _IO_UNITBUF 020000
1489 #define _IO_STDIO 040000
1490 #define _IO_DONT_CLOSE 0100000
1491 #define _IO_BOOLALPHA 0200000
1494 struct _IO_jump_t; struct _IO_FILE;
1495 # 177 "/usr/include/libio.h" 3 4
1496 typedef void _IO_lock_t;
1503 struct _IO_marker *_next;
1504 struct _IO_FILE *_sbuf;
1509 # 200 "/usr/include/libio.h" 3 4
1513 enum __codecvt_result
1520 # 268 "/usr/include/libio.h" 3 4
1523 #define _IO_file_flags _flags
1529 char* _IO_read_base;
1530 char* _IO_write_base;
1531 char* _IO_write_ptr;
1532 char* _IO_write_end;
1536 char *_IO_save_base;
1537 char *_IO_backup_base;
1540 struct _IO_marker *_markers;
1542 struct _IO_FILE *_chain;
1550 __off_t _old_offset;
1552 #define __HAVE_COLUMN
1554 unsigned short _cur_column;
1555 signed char _vtable_offset;
1561 # 316 "/usr/include/libio.h" 3 4
1563 # 325 "/usr/include/libio.h" 3 4
1572 char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
1577 typedef struct _IO_FILE _IO_FILE;
1580 struct _IO_FILE_plus;
1582 extern struct _IO_FILE_plus _IO_2_1_stdin_;
1583 extern struct _IO_FILE_plus _IO_2_1_stdout_;
1584 extern struct _IO_FILE_plus _IO_2_1_stderr_;
1586 #define _IO_stdin ((_IO_FILE*)(&_IO_2_1_stdin_))
1587 #define _IO_stdout ((_IO_FILE*)(&_IO_2_1_stdout_))
1588 #define _IO_stderr ((_IO_FILE*)(&_IO_2_1_stderr_))
1589 # 361 "/usr/include/libio.h" 3 4
1590 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
1598 typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
1607 typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
1610 typedef int __io_close_fn (void *__cookie);
1611 # 413 "/usr/include/libio.h" 3 4
1612 extern int __underflow (_IO_FILE *);
1613 extern int __uflow (_IO_FILE *);
1614 extern int __overflow (_IO_FILE *, int);
1615 extern wint_t __wunderflow (_IO_FILE *);
1616 extern wint_t __wuflow (_IO_FILE *);
1617 extern wint_t __woverflow (_IO_FILE *, wint_t);
1620 #define _IO_BE(expr,res) __builtin_expect ((expr), res)
1625 #define _IO_getc_unlocked(_fp) (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++)
1628 #define _IO_peekc_unlocked(_fp) (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) && __underflow (_fp) == EOF ? EOF : *(unsigned char *) (_fp)->_IO_read_ptr)
1632 #define _IO_putc_unlocked(_ch,_fp) (_IO_BE ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end, 0) ? __overflow (_fp, (unsigned char) (_ch)) : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch)))
1637 #define _IO_getwc_unlocked(_fp) (_IO_BE ((_fp)->_wide_data->_IO_read_ptr >= (_fp)->_wide_data->_IO_read_end, 0) ? __wuflow (_fp) : (_IO_wint_t) *(_fp)->_wide_data->_IO_read_ptr++)
1641 #define _IO_putwc_unlocked(_wch,_fp) (_IO_BE ((_fp)->_wide_data->_IO_write_ptr >= (_fp)->_wide_data->_IO_write_end, 0) ? __woverflow (_fp, _wch) : (_IO_wint_t) (*(_fp)->_wide_data->_IO_write_ptr++ = (_wch)))
1647 #define _IO_feof_unlocked(__fp) (((__fp)->_flags & _IO_EOF_SEEN) != 0)
1648 #define _IO_ferror_unlocked(__fp) (((__fp)->_flags & _IO_ERR_SEEN) != 0)
1650 extern int _IO_getc (_IO_FILE *__fp);
1651 extern int _IO_putc (int __c, _IO_FILE *__fp);
1652 extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__));
1653 extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__));
1655 extern int _IO_peekc_locked (_IO_FILE *__fp);
1658 #define _IO_PENDING_OUTPUT_COUNT(_fp) ((_fp)->_IO_write_ptr - (_fp)->_IO_write_base)
1661 extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__));
1662 extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__));
1663 extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__));
1664 # 473 "/usr/include/libio.h" 3 4
1665 #define _IO_peekc(_fp) _IO_peekc_unlocked (_fp)
1666 #define _IO_flockfile(_fp)
1667 #define _IO_funlockfile(_fp)
1668 #define _IO_ftrylockfile(_fp)
1669 #define _IO_cleanup_region_start(_fct,_fp)
1670 #define _IO_cleanup_region_end(_Doit)
1673 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
1674 __gnuc_va_list, int *__restrict);
1675 extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
1677 extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t);
1678 extern size_t _IO_sgetn (_IO_FILE *, void *, size_t);
1680 extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int);
1681 extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int);
1683 extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__));
1684 # 76 "/usr/include/stdio.h" 2 3 4
1685 # 89 "/usr/include/stdio.h" 3 4
1688 typedef _G_fpos_t fpos_t;
1705 #define BUFSIZ _IO_BUFSIZ
1706 # 121 "/usr/include/stdio.h" 3 4
1714 #define P_tmpdir "/tmp"
1715 # 141 "/usr/include/stdio.h" 3 4
1716 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4
1717 # 24 "/usr/include/bits/stdio_lim.h" 3 4
1719 #define TMP_MAX 238328
1720 #define FILENAME_MAX 4096
1730 #define FOPEN_MAX 16
1731 # 142 "/usr/include/stdio.h" 2 3 4
1735 extern struct _IO_FILE *stdin;
1736 extern struct _IO_FILE *stdout;
1737 extern struct _IO_FILE *stderr;
1740 #define stdout stdout
1741 #define stderr stderr
1745 extern int remove (__const char *__filename) __attribute__ ((__nothrow__));
1747 extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__));
1762 extern FILE *tmpfile (void) ;
1763 # 186 "/usr/include/stdio.h" 3 4
1764 extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)) ;
1770 extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)) ;
1771 # 204 "/usr/include/stdio.h" 3 4
1772 extern char *tempnam (__const char *__dir, __const char *__pfx)
1773 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
1782 extern int fclose (FILE *__stream);
1787 extern int fflush (FILE *__stream);
1789 # 229 "/usr/include/stdio.h" 3 4
1790 extern int fflush_unlocked (FILE *__stream);
1791 # 243 "/usr/include/stdio.h" 3 4
1798 extern FILE *fopen (__const char *__restrict __filename,
1799 __const char *__restrict __modes) ;
1804 extern FILE *freopen (__const char *__restrict __filename,
1805 __const char *__restrict __modes,
1806 FILE *__restrict __stream) ;
1807 # 272 "/usr/include/stdio.h" 3 4
1809 # 283 "/usr/include/stdio.h" 3 4
1810 extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)) ;
1811 # 304 "/usr/include/stdio.h" 3 4
1815 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__));
1819 extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
1820 int __modes, size_t __n) __attribute__ ((__nothrow__));
1826 extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
1827 size_t __size) __attribute__ ((__nothrow__));
1830 extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__));
1839 extern int fprintf (FILE *__restrict __stream,
1840 __const char *__restrict __format, ...);
1845 extern int printf (__const char *__restrict __format, ...);
1847 extern int sprintf (char *__restrict __s,
1848 __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
1854 extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
1855 __gnuc_va_list __arg);
1860 extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
1862 extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
1863 __gnuc_va_list __arg) __attribute__ ((__nothrow__));
1869 extern int snprintf (char *__restrict __s, size_t __maxlen,
1870 __const char *__restrict __format, ...)
1871 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4)));
1873 extern int vsnprintf (char *__restrict __s, size_t __maxlen,
1874 __const char *__restrict __format, __gnuc_va_list __arg)
1875 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0)));
1877 # 398 "/usr/include/stdio.h" 3 4
1883 extern int fscanf (FILE *__restrict __stream,
1884 __const char *__restrict __format, ...) ;
1889 extern int scanf (__const char *__restrict __format, ...) ;
1891 extern int sscanf (__const char *__restrict __s,
1892 __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
1894 # 440 "/usr/include/stdio.h" 3 4
1900 extern int fgetc (FILE *__stream);
1901 extern int getc (FILE *__stream);
1907 extern int getchar (void);
1912 #define getc(_fp) _IO_getc (_fp)
1919 extern int getc_unlocked (FILE *__stream);
1920 extern int getchar_unlocked (void);
1921 # 475 "/usr/include/stdio.h" 3 4
1922 extern int fgetc_unlocked (FILE *__stream);
1934 extern int fputc (int __c, FILE *__stream);
1935 extern int putc (int __c, FILE *__stream);
1941 extern int putchar (int __c);
1946 #define putc(_ch,_fp) _IO_putc (_ch, _fp)
1947 # 508 "/usr/include/stdio.h" 3 4
1948 extern int fputc_unlocked (int __c, FILE *__stream);
1956 extern int putc_unlocked (int __c, FILE *__stream);
1957 extern int putchar_unlocked (int __c);
1964 extern int getw (FILE *__stream);
1967 extern int putw (int __w, FILE *__stream);
1976 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
1984 extern char *gets (char *__s) ;
1986 # 589 "/usr/include/stdio.h" 3 4
1992 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
1998 extern int puts (__const char *__s);
2005 extern int ungetc (int __c, FILE *__stream);
2012 extern size_t fread (void *__restrict __ptr, size_t __size,
2013 size_t __n, FILE *__restrict __stream) ;
2018 extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
2019 size_t __n, FILE *__restrict __s) ;
2021 # 642 "/usr/include/stdio.h" 3 4
2022 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
2023 size_t __n, FILE *__restrict __stream) ;
2024 extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
2025 size_t __n, FILE *__restrict __stream) ;
2034 extern int fseek (FILE *__stream, long int __off, int __whence);
2039 extern long int ftell (FILE *__stream) ;
2044 extern void rewind (FILE *__stream);
2046 # 678 "/usr/include/stdio.h" 3 4
2047 extern int fseeko (FILE *__stream, __off_t __off, int __whence);
2052 extern __off_t ftello (FILE *__stream) ;
2053 # 697 "/usr/include/stdio.h" 3 4
2060 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
2065 extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
2066 # 720 "/usr/include/stdio.h" 3 4
2068 # 729 "/usr/include/stdio.h" 3 4
2071 extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__));
2073 extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ;
2075 extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ;
2080 extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
2081 extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
2082 extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
2091 extern void perror (__const char *__s);
2098 # 1 "/usr/include/bits/sys_errlist.h" 1 3 4
2099 # 27 "/usr/include/bits/sys_errlist.h" 3 4
2100 extern int sys_nerr;
2101 extern __const char *__const sys_errlist[];
2102 # 759 "/usr/include/stdio.h" 2 3 4
2107 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ;
2112 extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
2113 # 778 "/usr/include/stdio.h" 3 4
2114 extern FILE *popen (__const char *__command, __const char *__modes) ;
2120 extern int pclose (FILE *__stream);
2126 extern char *ctermid (char *__s) __attribute__ ((__nothrow__));
2127 # 818 "/usr/include/stdio.h" 3 4
2128 extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__));
2132 extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ;
2135 extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__));
2136 # 839 "/usr/include/stdio.h" 3 4
2137 # 1 "/usr/include/bits/stdio.h" 1 3 4
2138 # 27 "/usr/include/bits/stdio.h" 3 4
2139 #define __STDIO_INLINE __extern_inline
2146 vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg)
2148 return vfprintf (stdout, __fmt, __arg);
2155 return _IO_getc (stdin);
2162 fgetc_unlocked (FILE *__fp)
2164 return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
2172 getc_unlocked (FILE *__fp)
2174 return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
2179 getchar_unlocked (void)
2181 return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
2190 return _IO_putc (__c, stdout);
2197 fputc_unlocked (int __c, FILE *__stream)
2199 return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
2207 putc_unlocked (int __c, FILE *__stream)
2209 return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
2214 putchar_unlocked (int __c)
2216 return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
2218 # 121 "/usr/include/bits/stdio.h" 3 4
2220 __attribute__ ((__nothrow__)) feof_unlocked (FILE *__stream)
2222 return (((__stream)->_flags & 0x10) != 0);
2227 __attribute__ ((__nothrow__)) ferror_unlocked (FILE *__stream)
2229 return (((__stream)->_flags & 0x20) != 0);
2238 #define fread_unlocked(ptr,size,n,stream) (__extension__ ((__builtin_constant_p (size) && __builtin_constant_p (n) && (size_t) (size) * (size_t) (n) <= 8 && (size_t) (size) != 0) ? ({ char *__ptr = (char *) (ptr); FILE *__stream = (stream); size_t __cnt; for (__cnt = (size_t) (size) * (size_t) (n); __cnt > 0; --__cnt) { int __c = _IO_getc_unlocked (__stream); if (__c == EOF) break; *__ptr++ = __c; } ((size_t) (size) * (size_t) (n) - __cnt) / (size_t) (size); }) : (((__builtin_constant_p (size) && (size_t) (size) == 0) || (__builtin_constant_p (n) && (size_t) (n) == 0)) ? ((void) (ptr), (void) (stream), (void) (size), (void) (n), (size_t) 0) : fread_unlocked (ptr, size, n, stream))))
2239 # 164 "/usr/include/bits/stdio.h" 3 4
2240 #define fwrite_unlocked(ptr,size,n,stream) (__extension__ ((__builtin_constant_p (size) && __builtin_constant_p (n) && (size_t) (size) * (size_t) (n) <= 8 && (size_t) (size) != 0) ? ({ const char *__ptr = (const char *) (ptr); FILE *__stream = (stream); size_t __cnt; for (__cnt = (size_t) (size) * (size_t) (n); __cnt > 0; --__cnt) if (_IO_putc_unlocked (*__ptr++, __stream) == EOF) break; ((size_t) (size) * (size_t) (n) - __cnt) / (size_t) (size); }) : (((__builtin_constant_p (size) && (size_t) (size) == 0) || (__builtin_constant_p (n) && (size_t) (n) == 0)) ? ((void) (ptr), (void) (stream), (void) (size), (void) (n), (size_t) 0) : fwrite_unlocked (ptr, size, n, stream))))
2241 # 186 "/usr/include/bits/stdio.h" 3 4
2242 #undef __STDIO_INLINE
2243 # 840 "/usr/include/stdio.h" 2 3 4
2244 # 848 "/usr/include/stdio.h" 3 4
2248 # 1 "/usr/include/stdlib.h" 1 3 4
2249 # 28 "/usr/include/stdlib.h" 3 4
2250 #define __need_size_t
2252 #define __need_wchar_t
2255 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
2256 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
2257 #undef __need_size_t
2258 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
2259 #undef __need_wchar_t
2260 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
2266 #define NULL ((void *)0)
2273 # 34 "/usr/include/stdlib.h" 2 3 4
2279 # 96 "/usr/include/stdlib.h" 3 4
2295 #define __ldiv_t_defined 1
2298 # 129 "/usr/include/stdlib.h" 3 4
2299 #define RAND_MAX 2147483647
2304 #define EXIT_FAILURE 1
2305 #define EXIT_SUCCESS 0
2309 #define MB_CUR_MAX (__ctype_get_mb_cur_max ())
2310 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ;
2315 extern double atof (__const char *__nptr)
2316 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
2318 extern int atoi (__const char *__nptr)
2319 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
2321 extern long int atol (__const char *__nptr)
2322 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
2328 __extension__ extern long long int atoll (__const char *__nptr)
2329 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
2335 extern double strtod (__const char *__restrict __nptr,
2336 char **__restrict __endptr)
2337 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2339 # 182 "/usr/include/stdlib.h" 3 4
2342 extern long int strtol (__const char *__restrict __nptr,
2343 char **__restrict __endptr, int __base)
2344 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2346 extern unsigned long int strtoul (__const char *__restrict __nptr,
2347 char **__restrict __endptr, int __base)
2348 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2354 extern long long int strtoq (__const char *__restrict __nptr,
2355 char **__restrict __endptr, int __base)
2356 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2359 extern unsigned long long int strtouq (__const char *__restrict __nptr,
2360 char **__restrict __endptr, int __base)
2361 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2368 extern long long int strtoll (__const char *__restrict __nptr,
2369 char **__restrict __endptr, int __base)
2370 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2373 extern unsigned long long int strtoull (__const char *__restrict __nptr,
2374 char **__restrict __endptr, int __base)
2375 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2377 # 279 "/usr/include/stdlib.h" 3 4
2378 extern double __strtod_internal (__const char *__restrict __nptr,
2379 char **__restrict __endptr, int __group)
2380 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2381 extern float __strtof_internal (__const char *__restrict __nptr,
2382 char **__restrict __endptr, int __group)
2383 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2384 extern long double __strtold_internal (__const char *__restrict __nptr,
2385 char **__restrict __endptr,
2387 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2389 extern long int __strtol_internal (__const char *__restrict __nptr,
2390 char **__restrict __endptr,
2391 int __base, int __group)
2392 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2393 #define __strtol_internal_defined 1
2396 extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
2397 char **__restrict __endptr,
2398 int __base, int __group)
2399 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2400 #define __strtoul_internal_defined 1
2405 extern long long int __strtoll_internal (__const char *__restrict __nptr,
2406 char **__restrict __endptr,
2407 int __base, int __group)
2408 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2409 #define __strtoll_internal_defined 1
2413 extern unsigned long long int __strtoull_internal (__const char *
2415 char **__restrict __endptr,
2416 int __base, int __group)
2417 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2418 #define __strtoull_internal_defined 1
2426 extern __inline double
2427 __attribute__ ((__nothrow__)) strtod (__const char *__restrict __nptr, char **__restrict __endptr)
2429 return __strtod_internal (__nptr, __endptr, 0);
2431 extern __inline long int
2432 __attribute__ ((__nothrow__)) strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
2435 return __strtol_internal (__nptr, __endptr, __base, 0);
2437 extern __inline unsigned long int
2438 __attribute__ ((__nothrow__)) strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
2441 return __strtoul_internal (__nptr, __endptr, __base, 0);
2444 # 364 "/usr/include/stdlib.h" 3 4
2445 __extension__ extern __inline long long int
2446 __attribute__ ((__nothrow__)) strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
2449 return __strtoll_internal (__nptr, __endptr, __base, 0);
2451 __extension__ extern __inline unsigned long long int
2452 __attribute__ ((__nothrow__)) strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
2455 return __strtoull_internal (__nptr, __endptr, __base, 0);
2461 __extension__ extern __inline long long int
2462 __attribute__ ((__nothrow__)) strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
2465 return __strtoll_internal (__nptr, __endptr, __base, 0);
2467 __extension__ extern __inline unsigned long long int
2468 __attribute__ ((__nothrow__)) strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base)
2471 return __strtoull_internal (__nptr, __endptr, __base, 0);
2477 extern __inline double
2478 __attribute__ ((__nothrow__)) atof (__const char *__nptr)
2480 return strtod (__nptr, (char **) ((void *)0));
2483 __attribute__ ((__nothrow__)) atoi (__const char *__nptr)
2485 return (int) strtol (__nptr, (char **) ((void *)0), 10);
2487 extern __inline long int
2488 __attribute__ ((__nothrow__)) atol (__const char *__nptr)
2490 return strtol (__nptr, (char **) ((void *)0), 10);
2496 __extension__ extern __inline long long int
2497 __attribute__ ((__nothrow__)) atoll (__const char *__nptr)
2499 return strtoll (__nptr, (char **) ((void *)0), 10);
2502 # 429 "/usr/include/stdlib.h" 3 4
2503 extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ;
2506 extern long int a64l (__const char *__s)
2507 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
2512 # 1 "/usr/include/sys/types.h" 1 3 4
2513 # 25 "/usr/include/sys/types.h" 3 4
2514 #define _SYS_TYPES_H 1
2524 typedef __u_char u_char;
2525 typedef __u_short u_short;
2526 typedef __u_int u_int;
2527 typedef __u_long u_long;
2528 typedef __quad_t quad_t;
2529 typedef __u_quad_t u_quad_t;
2530 typedef __fsid_t fsid_t;
2531 #define __u_char_defined
2535 typedef __loff_t loff_t;
2539 typedef __ino_t ino_t;
2543 #define __ino_t_defined
2551 typedef __dev_t dev_t;
2552 #define __dev_t_defined
2556 typedef __gid_t gid_t;
2557 #define __gid_t_defined
2561 typedef __mode_t mode_t;
2562 #define __mode_t_defined
2566 typedef __nlink_t nlink_t;
2567 #define __nlink_t_defined
2571 typedef __uid_t uid_t;
2572 #define __uid_t_defined
2577 typedef __off_t off_t;
2581 #define __off_t_defined
2589 typedef __pid_t pid_t;
2590 #define __pid_t_defined
2594 typedef __id_t id_t;
2595 #define __id_t_defined
2599 typedef __ssize_t ssize_t;
2600 #define __ssize_t_defined
2605 typedef __daddr_t daddr_t;
2606 typedef __caddr_t caddr_t;
2607 #define __daddr_t_defined
2612 typedef __key_t key_t;
2613 #define __key_t_defined
2619 #define __need_time_t
2620 #define __need_timer_t
2621 #define __need_clockid_t
2622 # 1 "/usr/include/time.h" 1 3 4
2623 # 68 "/usr/include/time.h" 3 4
2624 #undef __need_clock_t
2627 #define __time_t_defined 1
2633 typedef __time_t time_t;
2640 #undef __need_time_t
2644 #define __clockid_t_defined 1
2649 typedef __clockid_t clockid_t;
2652 #undef __clockid_time_t
2656 #define __timer_t_defined 1
2661 typedef __timer_t timer_t;
2664 #undef __need_timer_t
2665 # 128 "/usr/include/time.h" 3 4
2666 #undef __need_timespec
2667 # 134 "/usr/include/sys/types.h" 2 3 4
2668 # 146 "/usr/include/sys/types.h" 3 4
2669 #define __need_size_t
2670 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
2671 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
2672 #undef __need_size_t
2673 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
2675 # 148 "/usr/include/sys/types.h" 2 3 4
2679 typedef unsigned long int ulong;
2680 typedef unsigned short int ushort;
2681 typedef unsigned int uint;
2682 # 188 "/usr/include/sys/types.h" 3 4
2683 #define __intN_t(N,MODE) typedef int int ##N ##_t __attribute__ ((__mode__ (MODE)))
2685 #define __u_intN_t(N,MODE) typedef unsigned int u_int ##N ##_t __attribute__ ((__mode__ (MODE)))
2689 #define __int8_t_defined
2690 typedef int int8_t __attribute__ ((__mode__ (__QI__)));
2691 typedef int int16_t __attribute__ ((__mode__ (__HI__)));
2692 typedef int int32_t __attribute__ ((__mode__ (__SI__)));
2693 typedef int int64_t __attribute__ ((__mode__ (__DI__)));
2696 typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
2697 typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
2698 typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
2699 typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
2701 typedef int register_t __attribute__ ((__mode__ (__word__)));
2707 #define __BIT_TYPES_DEFINED__ 1
2712 # 1 "/usr/include/endian.h" 1 3 4
2713 # 20 "/usr/include/endian.h" 3 4
2715 # 32 "/usr/include/endian.h" 3 4
2716 #define __LITTLE_ENDIAN 1234
2717 #define __BIG_ENDIAN 4321
2718 #define __PDP_ENDIAN 3412
2721 # 1 "/usr/include/bits/endian.h" 1 3 4
2728 #define __BYTE_ORDER __LITTLE_ENDIAN
2729 # 38 "/usr/include/endian.h" 2 3 4
2734 #define __FLOAT_WORD_ORDER __BYTE_ORDER
2738 #define LITTLE_ENDIAN __LITTLE_ENDIAN
2739 #define BIG_ENDIAN __BIG_ENDIAN
2740 #define PDP_ENDIAN __PDP_ENDIAN
2741 #define BYTE_ORDER __BYTE_ORDER
2745 #define __LONG_LONG_PAIR(HI,LO) LO, HI
2746 # 218 "/usr/include/sys/types.h" 2 3 4
2749 # 1 "/usr/include/sys/select.h" 1 3 4
2750 # 23 "/usr/include/sys/select.h" 3 4
2751 #define _SYS_SELECT_H 1
2759 # 1 "/usr/include/bits/select.h" 1 3 4
2760 # 26 "/usr/include/bits/select.h" 3 4
2761 #define __FD_ZERO(fdsp) do { int __d0, __d1; __asm__ __volatile__ ("cld; rep; stosl" : "=c" (__d0), "=D" (__d1) : "a" (0), "0" (sizeof (fd_set) / sizeof (__fd_mask)), "1" (&__FDS_BITS (fdsp)[0]) : "memory"); } while (0)
2762 # 37 "/usr/include/bits/select.h" 3 4
2763 #define __FD_SET(fd,fdsp) __asm__ __volatile__ ("btsl %1,%0" : "=m" (__FDS_BITS (fdsp)[__FDELT (fd)]) : "r" (((int) (fd)) % __NFDBITS) : "cc","memory")
2768 #define __FD_CLR(fd,fdsp) __asm__ __volatile__ ("btrl %1,%0" : "=m" (__FDS_BITS (fdsp)[__FDELT (fd)]) : "r" (((int) (fd)) % __NFDBITS) : "cc","memory")
2773 #define __FD_ISSET(fd,fdsp) (__extension__ ({register char __result; __asm__ __volatile__ ("btl %1,%2 ; setcb %b0" : "=q" (__result) : "r" (((int) (fd)) % __NFDBITS), "m" (__FDS_BITS (fdsp)[__FDELT (fd)]) : "cc"); __result; }))
2774 # 32 "/usr/include/sys/select.h" 2 3 4
2777 # 1 "/usr/include/bits/sigset.h" 1 3 4
2778 # 22 "/usr/include/bits/sigset.h" 3 4
2779 #define _SIGSET_H_types 1
2781 typedef int __sig_atomic_t;
2785 #define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
2788 unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
2790 # 35 "/usr/include/sys/select.h" 2 3 4
2793 #define __sigset_t_defined
2794 typedef __sigset_t sigset_t;
2798 #define __need_time_t
2799 #define __need_timespec
2800 # 1 "/usr/include/time.h" 1 3 4
2801 # 68 "/usr/include/time.h" 3 4
2802 #undef __need_clock_t
2803 # 84 "/usr/include/time.h" 3 4
2804 #undef __need_time_t
2805 # 96 "/usr/include/time.h" 3 4
2806 #undef __clockid_time_t
2807 # 108 "/usr/include/time.h" 3 4
2808 #undef __need_timer_t
2815 #define __timespec_defined 1
2828 #undef __need_timespec
2829 # 45 "/usr/include/sys/select.h" 2 3 4
2830 #define __need_timeval
2831 # 1 "/usr/include/bits/time.h" 1 3 4
2832 # 62 "/usr/include/bits/time.h" 3 4
2833 #undef __need_timeval
2835 #define _STRUCT_TIMEVAL 1
2843 __suseconds_t tv_usec;
2845 # 47 "/usr/include/sys/select.h" 2 3 4
2848 typedef __suseconds_t suseconds_t;
2849 #define __suseconds_t_defined
2854 typedef long int __fd_mask;
2861 #define __NFDBITS (8 * sizeof (__fd_mask))
2862 #define __FDELT(d) ((d) / __NFDBITS)
2863 #define __FDMASK(d) ((__fd_mask) 1 << ((d) % __NFDBITS))
2874 __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))];
2875 #define __FDS_BITS(set) ((set)->__fds_bits)
2880 #define FD_SETSIZE __FD_SETSIZE
2884 typedef __fd_mask fd_mask;
2887 #define NFDBITS __NFDBITS
2892 #define FD_SET(fd,fdsetp) __FD_SET (fd, fdsetp)
2893 #define FD_CLR(fd,fdsetp) __FD_CLR (fd, fdsetp)
2894 #define FD_ISSET(fd,fdsetp) __FD_ISSET (fd, fdsetp)
2895 #define FD_ZERO(fdsetp) __FD_ZERO (fdsetp)
2899 # 109 "/usr/include/sys/select.h" 3 4
2900 extern int select (int __nfds, fd_set *__restrict __readfds,
2901 fd_set *__restrict __writefds,
2902 fd_set *__restrict __exceptfds,
2903 struct timeval *__restrict __timeout);
2904 # 121 "/usr/include/sys/select.h" 3 4
2905 extern int pselect (int __nfds, fd_set *__restrict __readfds,
2906 fd_set *__restrict __writefds,
2907 fd_set *__restrict __exceptfds,
2908 const struct timespec *__restrict __timeout,
2909 const __sigset_t *__restrict __sigmask);
2913 # 221 "/usr/include/sys/types.h" 2 3 4
2916 # 1 "/usr/include/sys/sysmacros.h" 1 3 4
2917 # 22 "/usr/include/sys/sysmacros.h" 3 4
2918 #define _SYS_SYSMACROS_H 1
2927 extern __inline unsigned int gnu_dev_major (unsigned long long int __dev)
2928 __attribute__ ((__nothrow__));
2930 extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev)
2931 __attribute__ ((__nothrow__));
2933 extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major,
2934 unsigned int __minor)
2935 __attribute__ ((__nothrow__));
2938 __extension__ extern __inline unsigned int
2939 __attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev)
2941 return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
2944 __extension__ extern __inline unsigned int
2945 __attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev)
2947 return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
2950 __extension__ extern __inline unsigned long long int
2951 __attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor)
2953 return ((__minor & 0xff) | ((__major & 0xfff) << 8)
2954 | (((unsigned long long int) (__minor & ~0xff)) << 12)
2955 | (((unsigned long long int) (__major & ~0xfff)) << 32));
2961 #define major(dev) gnu_dev_major (dev)
2962 #define minor(dev) gnu_dev_minor (dev)
2963 #define makedev(maj,min) gnu_dev_makedev (maj, min)
2964 # 224 "/usr/include/sys/types.h" 2 3 4
2965 # 235 "/usr/include/sys/types.h" 3 4
2966 typedef __blkcnt_t blkcnt_t;
2967 #define __blkcnt_t_defined
2970 typedef __fsblkcnt_t fsblkcnt_t;
2971 #define __fsblkcnt_t_defined
2974 typedef __fsfilcnt_t fsfilcnt_t;
2975 #define __fsfilcnt_t_defined
2976 # 270 "/usr/include/sys/types.h" 3 4
2977 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
2978 # 20 "/usr/include/bits/pthreadtypes.h" 3 4
2979 #define _BITS_PTHREADTYPES_H 1
2981 #define __SIZEOF_PTHREAD_ATTR_T 36
2982 #define __SIZEOF_PTHREAD_MUTEX_T 24
2983 #define __SIZEOF_PTHREAD_MUTEXATTR_T 4
2984 #define __SIZEOF_PTHREAD_COND_T 48
2985 #define __SIZEOF_PTHREAD_COND_COMPAT_T 12
2986 #define __SIZEOF_PTHREAD_CONDATTR_T 4
2987 #define __SIZEOF_PTHREAD_RWLOCK_T 32
2988 #define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
2989 #define __SIZEOF_PTHREAD_BARRIER_T 20
2990 #define __SIZEOF_PTHREAD_BARRIERATTR_T 4
2995 typedef unsigned long int pthread_t;
3005 typedef struct __pthread_internal_slist
3007 struct __pthread_internal_slist *__next;
3008 } __pthread_slist_t;
3015 struct __pthread_mutex_s
3018 unsigned int __count;
3023 unsigned int __nusers;
3027 __pthread_slist_t __list;
3038 } pthread_mutexattr_t;
3048 unsigned int __futex;
3049 __extension__ unsigned long long int __total_seq;
3050 __extension__ unsigned long long int __wakeup_seq;
3051 __extension__ unsigned long long int __woken_seq;
3053 unsigned int __nwaiters;
3054 unsigned int __broadcast_seq;
3057 __extension__ long long int __align;
3064 } pthread_condattr_t;
3068 typedef unsigned int pthread_key_t;
3072 typedef int pthread_once_t;
3083 unsigned int __nr_readers;
3084 unsigned int __readers_wakeup;
3085 unsigned int __writer_wakeup;
3086 unsigned int __nr_readers_queued;
3087 unsigned int __nr_writers_queued;
3090 unsigned int __flags;
3101 } pthread_rwlockattr_t;
3107 typedef volatile int pthread_spinlock_t;
3116 } pthread_barrier_t;
3122 } pthread_barrierattr_t;
3127 #define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
3128 # 271 "/usr/include/sys/types.h" 2 3 4
3132 # 439 "/usr/include/stdlib.h" 2 3 4
3139 extern long int random (void) __attribute__ ((__nothrow__));
3142 extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__));
3148 extern char *initstate (unsigned int __seed, char *__statebuf,
3149 size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
3153 extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3172 extern int random_r (struct random_data *__restrict __buf,
3173 int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3175 extern int srandom_r (unsigned int __seed, struct random_data *__buf)
3176 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
3178 extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
3180 struct random_data *__restrict __buf)
3181 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
3183 extern int setstate_r (char *__restrict __statebuf,
3184 struct random_data *__restrict __buf)
3185 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3192 extern int rand (void) __attribute__ ((__nothrow__));
3194 extern void srand (unsigned int __seed) __attribute__ ((__nothrow__));
3199 extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__));
3207 extern double drand48 (void) __attribute__ ((__nothrow__));
3208 extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3211 extern long int lrand48 (void) __attribute__ ((__nothrow__));
3212 extern long int nrand48 (unsigned short int __xsubi[3])
3213 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3216 extern long int mrand48 (void) __attribute__ ((__nothrow__));
3217 extern long int jrand48 (unsigned short int __xsubi[3])
3218 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3221 extern void srand48 (long int __seedval) __attribute__ ((__nothrow__));
3222 extern unsigned short int *seed48 (unsigned short int __seed16v[3])
3223 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3224 extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3232 unsigned short int __x[3];
3233 unsigned short int __old_x[3];
3234 unsigned short int __c;
3235 unsigned short int __init;
3236 unsigned long long int __a;
3240 extern int drand48_r (struct drand48_data *__restrict __buffer,
3241 double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3242 extern int erand48_r (unsigned short int __xsubi[3],
3243 struct drand48_data *__restrict __buffer,
3244 double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3247 extern int lrand48_r (struct drand48_data *__restrict __buffer,
3248 long int *__restrict __result)
3249 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3250 extern int nrand48_r (unsigned short int __xsubi[3],
3251 struct drand48_data *__restrict __buffer,
3252 long int *__restrict __result)
3253 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3256 extern int mrand48_r (struct drand48_data *__restrict __buffer,
3257 long int *__restrict __result)
3258 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3259 extern int jrand48_r (unsigned short int __xsubi[3],
3260 struct drand48_data *__restrict __buffer,
3261 long int *__restrict __result)
3262 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3265 extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
3266 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
3268 extern int seed48_r (unsigned short int __seed16v[3],
3269 struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3271 extern int lcong48_r (unsigned short int __param[7],
3272 struct drand48_data *__buffer)
3273 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3280 #define __malloc_and_calloc_defined
3283 extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
3285 extern void *calloc (size_t __nmemb, size_t __size)
3286 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
3294 extern void *realloc (void *__ptr, size_t __size)
3295 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
3297 extern void free (void *__ptr) __attribute__ ((__nothrow__));
3302 extern void cfree (void *__ptr) __attribute__ ((__nothrow__));
3306 # 1 "/usr/include/alloca.h" 1 3 4
3307 # 20 "/usr/include/alloca.h" 3 4
3312 #define __need_size_t
3313 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
3314 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
3315 #undef __need_size_t
3316 # 409 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
3318 # 26 "/usr/include/alloca.h" 2 3 4
3326 extern void *alloca (size_t __size) __attribute__ ((__nothrow__));
3329 #define alloca(size) __builtin_alloca (size)
3333 # 613 "/usr/include/stdlib.h" 2 3 4
3338 extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
3343 extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
3344 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
3349 extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
3353 extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3359 extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
3360 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3367 extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
3369 # 658 "/usr/include/stdlib.h" 3 4
3372 extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
3377 extern char *__secure_getenv (__const char *__name)
3378 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
3384 extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3390 extern int setenv (__const char *__name, __const char *__value, int __replace)
3391 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
3394 extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__));
3401 extern int clearenv (void) __attribute__ ((__nothrow__));
3402 # 698 "/usr/include/stdlib.h" 3 4
3403 extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
3404 # 709 "/usr/include/stdlib.h" 3 4
3405 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
3406 # 729 "/usr/include/stdlib.h" 3 4
3407 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
3416 extern int system (__const char *__command) ;
3418 # 755 "/usr/include/stdlib.h" 3 4
3419 extern char *realpath (__const char *__restrict __name,
3420 char *__restrict __resolved) __attribute__ ((__nothrow__)) ;
3426 #define __COMPAR_FN_T
3427 typedef int (*__compar_fn_t) (__const void *, __const void *);
3437 extern void *bsearch (__const void *__key, __const void *__base,
3438 size_t __nmemb, size_t __size, __compar_fn_t __compar)
3439 __attribute__ ((__nonnull__ (1, 2, 5))) ;
3443 extern void qsort (void *__base, size_t __nmemb, size_t __size,
3444 __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
3448 extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
3449 extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
3462 extern div_t div (int __numer, int __denom)
3463 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
3464 extern ldiv_t ldiv (long int __numer, long int __denom)
3465 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
3467 # 820 "/usr/include/stdlib.h" 3 4
3468 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
3469 int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
3474 extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
3475 int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
3480 extern char *gcvt (double __value, int __ndigit, char *__buf)
3481 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
3486 extern char *qecvt (long double __value, int __ndigit,
3487 int *__restrict __decpt, int *__restrict __sign)
3488 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
3489 extern char *qfcvt (long double __value, int __ndigit,
3490 int *__restrict __decpt, int *__restrict __sign)
3491 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
3492 extern char *qgcvt (long double __value, int __ndigit, char *__buf)
3493 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
3498 extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
3499 int *__restrict __sign, char *__restrict __buf,
3500 size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
3501 extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
3502 int *__restrict __sign, char *__restrict __buf,
3503 size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
3505 extern int qecvt_r (long double __value, int __ndigit,
3506 int *__restrict __decpt, int *__restrict __sign,
3507 char *__restrict __buf, size_t __len)
3508 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
3509 extern int qfcvt_r (long double __value, int __ndigit,
3510 int *__restrict __decpt, int *__restrict __sign,
3511 char *__restrict __buf, size_t __len)
3512 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
3520 extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ;
3523 extern int mbtowc (wchar_t *__restrict __pwc,
3524 __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ;
3527 extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ;
3531 extern size_t mbstowcs (wchar_t *__restrict __pwcs,
3532 __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__));
3534 extern size_t wcstombs (char *__restrict __s,
3535 __const wchar_t *__restrict __pwcs, size_t __n)
3536 __attribute__ ((__nothrow__));
3545 extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
3546 # 925 "/usr/include/stdlib.h" 3 4
3547 extern int posix_openpt (int __oflag) ;
3548 # 960 "/usr/include/stdlib.h" 3 4
3549 extern int getloadavg (double __loadavg[], int __nelem)
3550 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3551 # 974 "/usr/include/stdlib.h" 3 4
3552 #undef __need_malloc_and_calloc
3557 # 1 "/usr/include/string.h" 1 3 4
3558 # 24 "/usr/include/string.h" 3 4
3566 #define __need_size_t
3568 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
3569 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
3570 #undef __need_size_t
3571 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
3577 #define NULL ((void *)0)
3584 # 34 "/usr/include/string.h" 2 3 4
3589 extern void *memcpy (void *__restrict __dest,
3590 __const void *__restrict __src, size_t __n)
3591 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3594 extern void *memmove (void *__dest, __const void *__src, size_t __n)
3595 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3602 extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
3603 int __c, size_t __n)
3604 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3610 extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3613 extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
3614 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
3617 extern void *memchr (__const void *__s, int __c, size_t __n)
3618 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
3620 # 82 "/usr/include/string.h" 3 4
3623 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
3624 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3626 extern char *strncpy (char *__restrict __dest,
3627 __const char *__restrict __src, size_t __n)
3628 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3631 extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
3632 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3634 extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
3635 size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3638 extern int strcmp (__const char *__s1, __const char *__s2)
3639 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
3641 extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
3642 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
3645 extern int strcoll (__const char *__s1, __const char *__s2)
3646 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
3648 extern size_t strxfrm (char *__restrict __dest,
3649 __const char *__restrict __src, size_t __n)
3650 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
3652 # 130 "/usr/include/string.h" 3 4
3653 extern char *strdup (__const char *__s)
3654 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
3655 # 165 "/usr/include/string.h" 3 4
3658 extern char *strchr (__const char *__s, int __c)
3659 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
3661 extern char *strrchr (__const char *__s, int __c)
3662 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
3664 # 181 "/usr/include/string.h" 3 4
3668 extern size_t strcspn (__const char *__s, __const char *__reject)
3669 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
3672 extern size_t strspn (__const char *__s, __const char *__accept)
3673 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
3675 extern char *strpbrk (__const char *__s, __const char *__accept)
3676 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
3678 extern char *strstr (__const char *__haystack, __const char *__needle)
3679 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
3683 extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
3684 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
3689 extern char *__strtok_r (char *__restrict __s,
3690 __const char *__restrict __delim,
3691 char **__restrict __save_ptr)
3692 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
3694 extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
3695 char **__restrict __save_ptr)
3696 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
3697 # 240 "/usr/include/string.h" 3 4
3700 extern size_t strlen (__const char *__s)
3701 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
3703 # 254 "/usr/include/string.h" 3 4
3706 extern char *strerror (int __errnum) __attribute__ ((__nothrow__));
3708 # 270 "/usr/include/string.h" 3 4
3709 extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
3710 # 294 "/usr/include/string.h" 3 4
3711 extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3715 extern void bcopy (__const void *__src, void *__dest, size_t __n)
3716 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3719 extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3722 extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
3723 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
3726 extern char *index (__const char *__s, int __c)
3727 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
3730 extern char *rindex (__const char *__s, int __c)
3731 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
3735 extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
3736 # 331 "/usr/include/string.h" 3 4
3737 extern int strcasecmp (__const char *__s1, __const char *__s2)
3738 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
3741 extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
3742 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
3743 # 354 "/usr/include/string.h" 3 4
3744 extern char *strsep (char **__restrict __stringp,
3745 __const char *__restrict __delim)
3746 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3747 # 420 "/usr/include/string.h" 3 4
3748 # 1 "/usr/include/bits/string.h" 1 3 4
3749 # 26 "/usr/include/bits/string.h" 3 4
3750 #define _STRING_ARCH_unaligned 1
3751 # 421 "/usr/include/string.h" 2 3 4
3754 # 1 "/usr/include/bits/string2.h" 1 3 4
3755 # 46 "/usr/include/bits/string2.h" 3 4
3756 #define __STRING_INLINE __extern_inline
3757 # 56 "/usr/include/bits/string2.h" 3 4
3758 #define __STRING2_SMALL_GET16(src,idx) (((__const unsigned char *) (__const char *) (src))[idx + 1] << 8 | ((__const unsigned char *) (__const char *) (src))[idx])
3761 #define __STRING2_SMALL_GET32(src,idx) (((((__const unsigned char *) (__const char *) (src))[idx + 3] << 8 | ((__const unsigned char *) (__const char *) (src))[idx + 2]) << 8 | ((__const unsigned char *) (__const char *) (src))[idx + 1]) << 8 | ((__const unsigned char *) (__const char *) (src))[idx])
3762 # 93 "/usr/include/bits/string2.h" 3 4
3763 #define __string2_1bptr_p(__x) ((size_t)(const void *)((__x) + 1) - (size_t)(const void *)(__x) == 1)
3764 # 195 "/usr/include/bits/string2.h" 3 4
3765 #define __bzero(s,n) __builtin_memset (s, '\0', n)
3766 # 394 "/usr/include/bits/string2.h" 3 4
3767 extern void *__rawmemchr (const void *__s, int __c);
3769 #define strchr(s,c) (__extension__ (__builtin_constant_p (c) && !__builtin_constant_p (s) && (c) == '\0' ? (char *) __rawmemchr (s, c) : __builtin_strchr (s, c)))
3770 # 761 "/usr/include/bits/string2.h" 3 4
3771 #define strncpy(dest,src,n) __builtin_strncpy (dest, src, n)
3772 # 785 "/usr/include/bits/string2.h" 3 4
3773 #define strncat(dest,src,n) __builtin_strncat (dest, src, n)
3774 # 800 "/usr/include/bits/string2.h" 3 4
3775 #define strcmp(s1,s2) __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (s1) && __builtin_constant_p (s2) && (__s1_len = strlen (s1), __s2_len = strlen (s2), (!__string2_1bptr_p (s1) || __s1_len >= 4) && (!__string2_1bptr_p (s2) || __s2_len >= 4)) ? __builtin_strcmp (s1, s2) : (__builtin_constant_p (s1) && __string2_1bptr_p (s1) && (__s1_len = strlen (s1), __s1_len < 4) ? (__builtin_constant_p (s2) && __string2_1bptr_p (s2) ? __builtin_strcmp (s1, s2) : __strcmp_cg (s1, s2, __s1_len)) : (__builtin_constant_p (s2) && __string2_1bptr_p (s2) && (__s2_len = strlen (s2), __s2_len < 4) ? (__builtin_constant_p (s1) && __string2_1bptr_p (s1) ? __builtin_strcmp (s1, s2) : __strcmp_gc (s1, s2, __s2_len)) : __builtin_strcmp (s1, s2)))); })
3776 # 842 "/usr/include/bits/string2.h" 3 4
3777 #define __strcmp_cc(s1,s2,l) (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (s1))[0] - ((__const unsigned char *) (__const char *)(s2))[0]); if (l > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (s1))[1] - ((__const unsigned char *) (__const char *) (s2))[1]); if (l > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (s1))[2] - ((__const unsigned char *) (__const char *) (s2))[2]); if (l > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (s1))[3] - ((__const unsigned char *) (__const char *) (s2))[3]); } } __result; }))
3778 # 869 "/usr/include/bits/string2.h" 3 4
3779 #define __strcmp_cg(s1,s2,l1) (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (s2); register int __result = (((__const unsigned char *) (__const char *) (s1))[0] - __s2[0]); if (l1 > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (s1))[1] - __s2[1]); if (l1 > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (s1))[2] - __s2[2]); if (l1 > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (s1))[3] - __s2[3]); } } __result; }))
3780 # 891 "/usr/include/bits/string2.h" 3 4
3781 #define __strcmp_gc(s1,s2,l2) (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (s1); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (s2))[0]; if (l2 > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (s2))[1]); if (l2 > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (s2))[2]); if (l2 > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (s2))[3]); } } __result; }))
3782 # 920 "/usr/include/bits/string2.h" 3 4
3783 #define strncmp(s1,s2,n) (__extension__ (__builtin_constant_p (n) && ((__builtin_constant_p (s1) && strlen (s1) < ((size_t) (n))) || (__builtin_constant_p (s2) && strlen (s2) < ((size_t) (n)))) ? strcmp (s1, s2) : strncmp (s1, s2, n)))
3784 # 935 "/usr/include/bits/string2.h" 3 4
3785 #define strcspn(s,reject) __extension__ ({ char __r0, __r1, __r2; (__builtin_constant_p (reject) && __string2_1bptr_p (reject) ? ((__builtin_constant_p (s) && __string2_1bptr_p (s)) ? __builtin_strcspn (s, reject) : ((__r0 = ((__const char *) (reject))[0], __r0 == '\0') ? strlen (s) : ((__r1 = ((__const char *) (reject))[1], __r1 == '\0') ? __strcspn_c1 (s, __r0) : ((__r2 = ((__const char *) (reject))[2], __r2 == '\0') ? __strcspn_c2 (s, __r0, __r1) : (((__const char *) (reject))[3] == '\0' ? __strcspn_c3 (s, __r0, __r1, __r2) : __builtin_strcspn (s, reject)))))) : __builtin_strcspn (s, reject)); })
3786 # 969 "/usr/include/bits/string2.h" 3 4
3787 extern __inline size_t __strcspn_c1 (__const char *__s, int __reject);
3788 extern __inline size_t
3789 __strcspn_c1 (__const char *__s, int __reject)
3791 register size_t __result = 0;
3792 while (__s[__result] != '\0' && __s[__result] != __reject)
3797 extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1,
3799 extern __inline size_t
3800 __strcspn_c2 (__const char *__s, int __reject1, int __reject2)
3802 register size_t __result = 0;
3803 while (__s[__result] != '\0' && __s[__result] != __reject1
3804 && __s[__result] != __reject2)
3809 extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1,
3810 int __reject2, int __reject3);
3811 extern __inline size_t
3812 __strcspn_c3 (__const char *__s, int __reject1, int __reject2,
3815 register size_t __result = 0;
3816 while (__s[__result] != '\0' && __s[__result] != __reject1
3817 && __s[__result] != __reject2 && __s[__result] != __reject3)
3821 # 1011 "/usr/include/bits/string2.h" 3 4
3822 #define strspn(s,accept) __extension__ ({ char __a0, __a1, __a2; (__builtin_constant_p (accept) && __string2_1bptr_p (accept) ? ((__builtin_constant_p (s) && __string2_1bptr_p (s)) ? __builtin_strspn (s, accept) : ((__a0 = ((__const char *) (accept))[0], __a0 == '\0') ? ((void) (s), 0) : ((__a1 = ((__const char *) (accept))[1], __a1 == '\0') ? __strspn_c1 (s, __a0) : ((__a2 = ((__const char *) (accept))[2], __a2 == '\0') ? __strspn_c2 (s, __a0, __a1) : (((__const char *) (accept))[3] == '\0' ? __strspn_c3 (s, __a0, __a1, __a2) : __builtin_strspn (s, accept)))))) : __builtin_strspn (s, accept)); })
3823 # 1045 "/usr/include/bits/string2.h" 3 4
3824 extern __inline size_t __strspn_c1 (__const char *__s, int __accept);
3825 extern __inline size_t
3826 __strspn_c1 (__const char *__s, int __accept)
3828 register size_t __result = 0;
3830 while (__s[__result] == __accept)
3835 extern __inline size_t __strspn_c2 (__const char *__s, int __accept1,
3837 extern __inline size_t
3838 __strspn_c2 (__const char *__s, int __accept1, int __accept2)
3840 register size_t __result = 0;
3842 while (__s[__result] == __accept1 || __s[__result] == __accept2)
3847 extern __inline size_t __strspn_c3 (__const char *__s, int __accept1,
3848 int __accept2, int __accept3);
3849 extern __inline size_t
3850 __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
3852 register size_t __result = 0;
3854 while (__s[__result] == __accept1 || __s[__result] == __accept2
3855 || __s[__result] == __accept3)
3866 #define strpbrk(s,accept) __extension__ ({ char __a0, __a1, __a2; (__builtin_constant_p (accept) && __string2_1bptr_p (accept) ? ((__builtin_constant_p (s) && __string2_1bptr_p (s)) ? __builtin_strpbrk (s, accept) : ((__a0 = ((__const char *) (accept))[0], __a0 == '\0') ? ((void) (s), (char *) NULL) : ((__a1 = ((__const char *) (accept))[1], __a1 == '\0') ? __builtin_strchr (s, __a0) : ((__a2 = ((__const char *) (accept))[2], __a2 == '\0') ? __strpbrk_c2 (s, __a0, __a1) : (((__const char *) (accept))[3] == '\0' ? __strpbrk_c3 (s, __a0, __a1, __a2) : __builtin_strpbrk (s, accept)))))) : __builtin_strpbrk (s, accept)); })
3867 # 1121 "/usr/include/bits/string2.h" 3 4
3868 extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1,
3870 extern __inline char *
3871 __strpbrk_c2 (__const char *__s, int __accept1, int __accept2)
3874 while (*__s != '\0' && *__s != __accept1 && *__s != __accept2)
3876 return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
3879 extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1,
3880 int __accept2, int __accept3);
3881 extern __inline char *
3882 __strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
3886 while (*__s != '\0' && *__s != __accept1 && *__s != __accept2
3887 && *__s != __accept3)
3889 return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
3891 # 1164 "/usr/include/bits/string2.h" 3 4
3892 #define __strtok_r(s,sep,nextp) (__extension__ (__builtin_constant_p (sep) && __string2_1bptr_p (sep) ? (((__const char *) (sep))[0] != '\0' && ((__const char *) (sep))[1] == '\0' ? __strtok_r_1c (s, ((__const char *) (sep))[0], nextp) : __strtok_r (s, sep, nextp)) : __strtok_r (s, sep, nextp)))
3893 # 1173 "/usr/include/bits/string2.h" 3 4
3894 extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
3895 extern __inline char *
3896 __strtok_r_1c (char *__s, char __sep, char **__nextp)
3899 if (__s == ((void *)0))
3901 while (*__s == __sep)
3903 __result = ((void *)0);
3907 while (*__s != '\0')
3908 if (*__s++ == __sep)
3918 #define strtok_r(s,sep,nextp) __strtok_r (s, sep, nextp)
3926 extern char *__strsep_g (char **__stringp, __const char *__delim);
3927 #define __strsep(s,reject) __extension__ ({ char __r0, __r1, __r2; (__builtin_constant_p (reject) && __string2_1bptr_p (reject) && (__r0 = ((__const char *) (reject))[0], ((__const char *) (reject))[0] != '\0') ? ((__r1 = ((__const char *) (reject))[1], ((__const char *) (reject))[1] == '\0') ? __strsep_1c (s, __r0) : ((__r2 = ((__const char *) (reject))[2], __r2 == '\0') ? __strsep_2c (s, __r0, __r1) : (((__const char *) (reject))[3] == '\0' ? __strsep_3c (s, __r0, __r1, __r2) : __strsep_g (s, reject)))) : __strsep_g (s, reject)); })
3928 # 1223 "/usr/include/bits/string2.h" 3 4
3929 extern __inline char *__strsep_1c (char **__s, char __reject);
3930 extern __inline char *
3931 __strsep_1c (char **__s, char __reject)
3933 register char *__retval = *__s;
3934 if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0))
3939 extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2);
3940 extern __inline char *
3941 __strsep_2c (char **__s, char __reject1, char __reject2)
3943 register char *__retval = *__s;
3944 if (__retval != ((void *)0))
3946 register char *__cp = __retval;
3954 if (*__cp == __reject1 || *__cp == __reject2)
3966 extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2,
3968 extern __inline char *
3969 __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
3971 register char *__retval = *__s;
3972 if (__retval != ((void *)0))
3974 register char *__cp = __retval;
3982 if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3)
3994 #define strsep(s,reject) __strsep (s, reject)
3995 # 1298 "/usr/include/bits/string2.h" 3 4
3996 #define __need_malloc_and_calloc
4002 extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
4003 #define __strdup(s) (__extension__ (__builtin_constant_p (s) && __string2_1bptr_p (s) ? (((__const char *) (s))[0] == '\0' ? (char *) calloc (1, 1) : ({ size_t __len = strlen (s) + 1; char *__retval = (char *) malloc (__len); if (__retval != NULL) __retval = (char *) memcpy (__retval, s, __len); __retval; })) : __strdup (s)))
4004 # 1317 "/usr/include/bits/string2.h" 3 4
4005 #define strdup(s) __strdup (s)
4011 extern char *__strndup (__const char *__string, size_t __n)
4012 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
4013 #define __strndup(s,n) (__extension__ (__builtin_constant_p (s) && __string2_1bptr_p (s) ? (((__const char *) (s))[0] == '\0' ? (char *) calloc (1, 1) : ({ size_t __len = strlen (s) + 1; size_t __n = (n); char *__retval; if (__n < __len) __len = __n + 1; __retval = (char *) malloc (__len); if (__retval != NULL) { __retval[__len - 1] = '\0'; __retval = (char *) memcpy (__retval, s, __len - 1); } __retval; })) : __strndup (s, n)))
4014 # 1352 "/usr/include/bits/string2.h" 3 4
4015 #undef __STRING_INLINE
4016 # 424 "/usr/include/string.h" 2 3 4
4017 # 432 "/usr/include/string.h" 3 4
4020 # 1 "/usr/include/fcntl.h" 1 3 4
4021 # 25 "/usr/include/fcntl.h" 3 4
4031 # 1 "/usr/include/bits/fcntl.h" 1 3 4
4032 # 33 "/usr/include/bits/fcntl.h" 3 4
4033 #define O_ACCMODE 0003
4037 #define O_CREAT 0100
4039 #define O_NOCTTY 0400
4040 #define O_TRUNC 01000
4041 #define O_APPEND 02000
4042 #define O_NONBLOCK 04000
4043 #define O_NDELAY O_NONBLOCK
4044 #define O_SYNC 010000
4045 #define O_FSYNC O_SYNC
4046 #define O_ASYNC 020000
4047 # 59 "/usr/include/bits/fcntl.h" 3 4
4048 #define O_DSYNC O_SYNC
4049 #define O_RSYNC O_SYNC
4071 #define F_GETLK64 12
4072 #define F_SETLK64 13
4073 #define F_SETLKW64 14
4078 # 103 "/usr/include/bits/fcntl.h" 3 4
4079 #define FD_CLOEXEC 1
4097 # 141 "/usr/include/bits/fcntl.h" 3 4
4111 # 169 "/usr/include/bits/fcntl.h" 3 4
4112 #define FAPPEND O_APPEND
4113 #define FFSYNC O_FSYNC
4114 #define FASYNC O_ASYNC
4115 #define FNONBLOCK O_NONBLOCK
4116 #define FNDELAY O_NDELAY
4121 #define POSIX_FADV_NORMAL 0
4122 #define POSIX_FADV_RANDOM 1
4123 #define POSIX_FADV_SEQUENTIAL 2
4124 #define POSIX_FADV_WILLNEED 3
4125 #define POSIX_FADV_DONTNEED 4
4126 #define POSIX_FADV_NOREUSE 5
4127 # 208 "/usr/include/bits/fcntl.h" 3 4
4129 # 237 "/usr/include/bits/fcntl.h" 3 4
4131 # 35 "/usr/include/fcntl.h" 2 3 4
4132 # 45 "/usr/include/fcntl.h" 3 4
4137 # 76 "/usr/include/fcntl.h" 3 4
4138 extern int fcntl (int __fd, int __cmd, ...);
4139 # 85 "/usr/include/fcntl.h" 3 4
4140 extern int open (__const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1)));
4141 # 130 "/usr/include/fcntl.h" 3 4
4142 extern int creat (__const char *__file, __mode_t __mode) __attribute__ ((__nonnull__ (1)));
4143 # 153 "/usr/include/fcntl.h" 3 4
4150 extern int lockf (int __fd, int __cmd, __off_t __len);
4151 # 176 "/usr/include/fcntl.h" 3 4
4152 extern int posix_fadvise (int __fd, __off_t __offset, __off_t __len,
4153 int __advise) __attribute__ ((__nothrow__));
4154 # 198 "/usr/include/fcntl.h" 3 4
4155 extern int posix_fallocate (int __fd, __off_t __offset, __off_t __len);
4156 # 213 "/usr/include/fcntl.h" 3 4
4159 # 1 "/usr/include/ctype.h" 1 3 4
4160 # 25 "/usr/include/ctype.h" 3 4
4167 # 45 "/usr/include/ctype.h" 3 4
4168 #define _ISbit(bit) ((bit) < 8 ? ((1 << (bit)) << 8) : ((1 << (bit)) >> 8))
4173 _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
4174 _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
4175 _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
4176 _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
4177 _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
4178 _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
4179 _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
4180 _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
4181 _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
4182 _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
4183 _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
4184 _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
4186 # 81 "/usr/include/ctype.h" 3 4
4187 extern __const unsigned short int **__ctype_b_loc (void)
4188 __attribute__ ((__const));
4189 extern __const __int32_t **__ctype_tolower_loc (void)
4190 __attribute__ ((__const));
4191 extern __const __int32_t **__ctype_toupper_loc (void)
4192 __attribute__ ((__const));
4194 #define __isctype(c,type) ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type)
4197 #define __isascii(c) (((c) & ~0x7f) == 0)
4198 #define __toascii(c) ((c) & 0x7f)
4200 #define __exctype(name) extern int name (int) __THROW
4208 extern int isalnum (int) __attribute__ ((__nothrow__));
4209 extern int isalpha (int) __attribute__ ((__nothrow__));
4210 extern int iscntrl (int) __attribute__ ((__nothrow__));
4211 extern int isdigit (int) __attribute__ ((__nothrow__));
4212 extern int islower (int) __attribute__ ((__nothrow__));
4213 extern int isgraph (int) __attribute__ ((__nothrow__));
4214 extern int isprint (int) __attribute__ ((__nothrow__));
4215 extern int ispunct (int) __attribute__ ((__nothrow__));
4216 extern int isspace (int) __attribute__ ((__nothrow__));
4217 extern int isupper (int) __attribute__ ((__nothrow__));
4218 extern int isxdigit (int) __attribute__ ((__nothrow__));
4222 extern int tolower (int __c) __attribute__ ((__nothrow__));
4225 extern int toupper (int __c) __attribute__ ((__nothrow__));
4228 # 142 "/usr/include/ctype.h" 3 4
4229 extern int isascii (int __c) __attribute__ ((__nothrow__));
4233 extern int toascii (int __c) __attribute__ ((__nothrow__));
4237 extern int _toupper (int) __attribute__ ((__nothrow__));
4238 extern int _tolower (int) __attribute__ ((__nothrow__));
4242 #define __tobody(c,f,a,args) (__extension__ ({ int __res; if (sizeof (c) > 1) { if (__builtin_constant_p (c)) { int __c = (c); __res = __c < -128 || __c > 255 ? __c : (a)[__c]; } else __res = f args; } else __res = (a)[(int) (c)]; __res; }))
4243 # 173 "/usr/include/ctype.h" 3 4
4244 #define isalnum(c) __isctype((c), _ISalnum)
4245 #define isalpha(c) __isctype((c), _ISalpha)
4246 #define iscntrl(c) __isctype((c), _IScntrl)
4247 #define isdigit(c) __isctype((c), _ISdigit)
4248 #define islower(c) __isctype((c), _ISlower)
4249 #define isgraph(c) __isctype((c), _ISgraph)
4250 #define isprint(c) __isctype((c), _ISprint)
4251 #define ispunct(c) __isctype((c), _ISpunct)
4252 #define isspace(c) __isctype((c), _ISspace)
4253 #define isupper(c) __isctype((c), _ISupper)
4254 #define isxdigit(c) __isctype((c), _ISxdigit)
4262 __attribute__ ((__nothrow__)) tolower (int __c)
4264 return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c;
4268 __attribute__ ((__nothrow__)) toupper (int __c)
4270 return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c;
4275 #define tolower(c) __tobody (c, tolower, *__ctype_tolower_loc (), (c))
4276 #define toupper(c) __tobody (c, toupper, *__ctype_toupper_loc (), (c))
4280 #define isascii(c) __isascii (c)
4281 #define toascii(c) __toascii (c)
4283 #define _tolower(c) ((int) (*__ctype_tolower_loc ())[(int) (c)])
4284 #define _toupper(c) ((int) (*__ctype_toupper_loc ())[(int) (c)])
4285 # 323 "/usr/include/ctype.h" 3 4
4288 # 1 "/usr/include/time.h" 1 3 4
4289 # 28 "/usr/include/time.h" 3 4
4299 #define __need_size_t
4301 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
4302 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
4303 #undef __need_size_t
4304 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
4310 #define NULL ((void *)0)
4317 # 40 "/usr/include/time.h" 2 3 4
4321 # 1 "/usr/include/bits/time.h" 1 3 4
4322 # 26 "/usr/include/bits/time.h" 3 4
4323 #define _BITS_TIME_H 1
4331 #define CLOCKS_PER_SEC 1000000l
4332 # 46 "/usr/include/bits/time.h" 3 4
4333 #define CLOCK_REALTIME 0
4335 #define CLOCK_MONOTONIC 1
4337 #define CLOCK_PROCESS_CPUTIME_ID 2
4339 #define CLOCK_THREAD_CPUTIME_ID 3
4342 #define TIMER_ABSTIME 1
4343 # 44 "/usr/include/time.h" 2 3 4
4344 # 55 "/usr/include/time.h" 3 4
4345 #define __clock_t_defined 1
4351 typedef __clock_t clock_t;
4358 #undef __need_clock_t
4359 # 84 "/usr/include/time.h" 3 4
4360 #undef __need_time_t
4361 # 96 "/usr/include/time.h" 3 4
4362 #undef __clockid_time_t
4363 # 108 "/usr/include/time.h" 3 4
4364 #undef __need_timer_t
4365 # 128 "/usr/include/time.h" 3 4
4366 #undef __need_timespec
4386 __const char *tm_zone;
4402 struct timespec it_interval;
4403 struct timespec it_value;
4408 # 181 "/usr/include/time.h" 3 4
4412 extern clock_t clock (void) __attribute__ ((__nothrow__));
4415 extern time_t time (time_t *__timer) __attribute__ ((__nothrow__));
4418 extern double difftime (time_t __time1, time_t __time0)
4419 __attribute__ ((__nothrow__)) __attribute__ ((__const__));
4422 extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__));
4428 extern size_t strftime (char *__restrict __s, size_t __maxsize,
4429 __const char *__restrict __format,
4430 __const struct tm *__restrict __tp) __attribute__ ((__nothrow__));
4432 # 229 "/usr/include/time.h" 3 4
4436 extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__));
4440 extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__));
4446 extern struct tm *gmtime_r (__const time_t *__restrict __timer,
4447 struct tm *__restrict __tp) __attribute__ ((__nothrow__));
4451 extern struct tm *localtime_r (__const time_t *__restrict __timer,
4452 struct tm *__restrict __tp) __attribute__ ((__nothrow__));
4458 extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__));
4461 extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__));
4469 extern char *asctime_r (__const struct tm *__restrict __tp,
4470 char *__restrict __buf) __attribute__ ((__nothrow__));
4473 extern char *ctime_r (__const time_t *__restrict __timer,
4474 char *__restrict __buf) __attribute__ ((__nothrow__));
4479 extern char *__tzname[2];
4480 extern int __daylight;
4481 extern long int __timezone;
4486 extern char *tzname[2];
4490 extern void tzset (void) __attribute__ ((__nothrow__));
4494 extern int daylight;
4495 extern long int timezone;
4501 extern int stime (__const time_t *__when) __attribute__ ((__nothrow__));
4507 #define __isleap(year) ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
4508 # 312 "/usr/include/time.h" 3 4
4509 extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__));
4512 extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__));
4515 extern int dysize (int __year) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
4516 # 327 "/usr/include/time.h" 3 4
4517 extern int nanosleep (__const struct timespec *__requested_time,
4518 struct timespec *__remaining);
4522 extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__));
4525 extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__));
4528 extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
4529 __attribute__ ((__nothrow__));
4536 extern int clock_nanosleep (clockid_t __clock_id, int __flags,
4537 __const struct timespec *__req,
4538 struct timespec *__rem);
4541 extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__));
4546 extern int timer_create (clockid_t __clock_id,
4547 struct sigevent *__restrict __evp,
4548 timer_t *__restrict __timerid) __attribute__ ((__nothrow__));
4551 extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__));
4554 extern int timer_settime (timer_t __timerid, int __flags,
4555 __const struct itimerspec *__restrict __value,
4556 struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__));
4559 extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
4560 __attribute__ ((__nothrow__));
4563 extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__));
4564 # 416 "/usr/include/time.h" 3 4
4568 # 1 "/usr/include/signal.h" 1 3 4
4569 # 26 "/usr/include/signal.h" 3 4
4577 # 1 "/usr/include/bits/sigset.h" 1 3 4
4578 # 44 "/usr/include/bits/sigset.h" 3 4
4579 #define _SIGSET_H_fns 1
4582 #define _EXTERN_INLINE __extern_inline
4586 #define __sigmask(sig) (((unsigned long int) 1) << (((sig) - 1) % (8 * sizeof (unsigned long int))))
4590 #define __sigword(sig) (((sig) - 1) / (8 * sizeof (unsigned long int)))
4593 #define __sigemptyset(set) (__extension__ ({ int __cnt = _SIGSET_NWORDS; sigset_t *__set = (set); while (--__cnt >= 0) __set->__val[__cnt] = 0; 0; }))
4598 #define __sigfillset(set) (__extension__ ({ int __cnt = _SIGSET_NWORDS; sigset_t *__set = (set); while (--__cnt >= 0) __set->__val[__cnt] = ~0UL; 0; }))
4599 # 104 "/usr/include/bits/sigset.h" 3 4
4600 extern int __sigismember (__const __sigset_t *, int);
4601 extern int __sigaddset (__sigset_t *, int);
4602 extern int __sigdelset (__sigset_t *, int);
4605 #define __SIGSETFN(NAME,BODY,CONST) _EXTERN_INLINE int NAME (CONST __sigset_t *__set, int __sig) { unsigned long int __mask = __sigmask (__sig); unsigned long int __word = __sigword (__sig); return BODY; }
4606 # 118 "/usr/include/bits/sigset.h" 3 4
4607 extern __inline int __sigismember (__const __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return (__set->__val[__word] & __mask) ? 1 : 0; }
4608 extern __inline int __sigaddset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] |= __mask), 0); }
4609 extern __inline int __sigdelset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] &= ~__mask), 0); }
4612 # 34 "/usr/include/signal.h" 2 3 4
4618 #define __sig_atomic_t_defined
4620 typedef __sig_atomic_t sig_atomic_t;
4623 #undef __need_sig_atomic_t
4631 #undef __need_sigset_t
4637 # 1 "/usr/include/bits/signum.h" 1 3 4
4638 # 23 "/usr/include/bits/signum.h" 3 4
4639 #define SIG_ERR ((__sighandler_t) -1)
4640 #define SIG_DFL ((__sighandler_t) 0)
4641 #define SIG_IGN ((__sighandler_t) 1)
4665 #define SIGSTKFLT 16
4666 #define SIGCLD SIGCHLD
4676 #define SIGVTALRM 26
4679 #define SIGPOLL SIGIO
4683 #define SIGUNUSED 31
4688 #define SIGRTMIN (__libc_current_sigrtmin ())
4689 #define SIGRTMAX (__libc_current_sigrtmax ())
4693 #define __SIGRTMIN 32
4694 #define __SIGRTMAX (_NSIG - 1)
4695 # 59 "/usr/include/signal.h" 2 3 4
4696 # 75 "/usr/include/signal.h" 3 4
4697 typedef void (*__sighandler_t) (int);
4702 extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler)
4703 __attribute__ ((__nothrow__));
4704 # 90 "/usr/include/signal.h" 3 4
4707 extern __sighandler_t signal (int __sig, __sighandler_t __handler)
4708 __attribute__ ((__nothrow__));
4709 # 104 "/usr/include/signal.h" 3 4
4711 # 117 "/usr/include/signal.h" 3 4
4712 extern int kill (__pid_t __pid, int __sig) __attribute__ ((__nothrow__));
4719 extern int killpg (__pid_t __pgrp, int __sig) __attribute__ ((__nothrow__));
4724 extern int raise (int __sig) __attribute__ ((__nothrow__));
4729 extern __sighandler_t ssignal (int __sig, __sighandler_t __handler)
4730 __attribute__ ((__nothrow__));
4731 extern int gsignal (int __sig) __attribute__ ((__nothrow__));
4736 extern void psignal (int __sig, __const char *__s);
4737 # 153 "/usr/include/signal.h" 3 4
4738 extern int __sigpause (int __sig_or_mask, int __is_sig);
4739 # 178 "/usr/include/signal.h" 3 4
4740 #define sigmask(sig) __sigmask(sig)
4743 extern int sigblock (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
4746 extern int sigsetmask (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
4749 extern int siggetmask (void) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
4755 # 201 "/usr/include/signal.h" 3 4
4756 typedef __sighandler_t sig_t;
4763 #define __need_timespec
4767 # 1 "/usr/include/bits/siginfo.h" 1 3 4
4768 # 25 "/usr/include/bits/siginfo.h" 3 4
4769 # 1 "/usr/include/bits/wordsize.h" 1 3 4
4770 # 19 "/usr/include/bits/wordsize.h" 3 4
4771 #define __WORDSIZE 32
4772 # 26 "/usr/include/bits/siginfo.h" 2 3 4
4777 #define __have_sigval_t 1
4780 typedef union sigval
4789 #define __have_siginfo_t 1
4791 #define __SI_MAX_SIZE 128
4795 #define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 3)
4798 typedef struct siginfo
4807 int _pad[((128 / sizeof (int)) - 3)];
4859 #define si_pid _sifields._kill.si_pid
4860 #define si_uid _sifields._kill.si_uid
4861 #define si_timerid _sifields._timer.si_tid
4862 #define si_overrun _sifields._timer.si_overrun
4863 #define si_status _sifields._sigchld.si_status
4864 #define si_utime _sifields._sigchld.si_utime
4865 #define si_stime _sifields._sigchld.si_stime
4866 #define si_value _sifields._rt.si_sigval
4867 #define si_int _sifields._rt.si_sigval.sival_int
4868 #define si_ptr _sifields._rt.si_sigval.sival_ptr
4869 #define si_addr _sifields._sigfault.si_addr
4870 #define si_band _sifields._sigpoll.si_band
4871 #define si_fd _sifields._sigpoll.si_fd
4879 #define SI_ASYNCNL SI_ASYNCNL
4881 #define SI_TKILL SI_TKILL
4883 #define SI_SIGIO SI_SIGIO
4885 #define SI_ASYNCIO SI_ASYNCIO
4887 #define SI_MESGQ SI_MESGQ
4889 #define SI_TIMER SI_TIMER
4891 #define SI_QUEUE SI_QUEUE
4893 #define SI_USER SI_USER
4895 #define SI_KERNEL SI_KERNEL
4903 #define ILL_ILLOPC ILL_ILLOPC
4905 #define ILL_ILLOPN ILL_ILLOPN
4907 #define ILL_ILLADR ILL_ILLADR
4909 #define ILL_ILLTRP ILL_ILLTRP
4911 #define ILL_PRVOPC ILL_PRVOPC
4913 #define ILL_PRVREG ILL_PRVREG
4915 #define ILL_COPROC ILL_COPROC
4917 #define ILL_BADSTK ILL_BADSTK
4924 #define FPE_INTDIV FPE_INTDIV
4926 #define FPE_INTOVF FPE_INTOVF
4928 #define FPE_FLTDIV FPE_FLTDIV
4930 #define FPE_FLTOVF FPE_FLTOVF
4932 #define FPE_FLTUND FPE_FLTUND
4934 #define FPE_FLTRES FPE_FLTRES
4936 #define FPE_FLTINV FPE_FLTINV
4938 #define FPE_FLTSUB FPE_FLTSUB
4945 #define SEGV_MAPERR SEGV_MAPERR
4947 #define SEGV_ACCERR SEGV_ACCERR
4954 #define BUS_ADRALN BUS_ADRALN
4956 #define BUS_ADRERR BUS_ADRERR
4958 #define BUS_OBJERR BUS_OBJERR
4965 #define TRAP_BRKPT TRAP_BRKPT
4967 #define TRAP_TRACE TRAP_TRACE
4974 #define CLD_EXITED CLD_EXITED
4976 #define CLD_KILLED CLD_KILLED
4978 #define CLD_DUMPED CLD_DUMPED
4980 #define CLD_TRAPPED CLD_TRAPPED
4982 #define CLD_STOPPED CLD_STOPPED
4984 #define CLD_CONTINUED CLD_CONTINUED
4991 #define POLL_IN POLL_IN
4993 #define POLL_OUT POLL_OUT
4995 #define POLL_MSG POLL_MSG
4997 #define POLL_ERR POLL_ERR
4999 #define POLL_PRI POLL_PRI
5001 #define POLL_HUP POLL_HUP
5004 #undef __need_siginfo_t
5010 #define __have_sigevent_t 1
5013 #define __SIGEV_MAX_SIZE 64
5017 #define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
5020 typedef struct sigevent
5022 sigval_t sigev_value;
5028 int _pad[((64 / sizeof (int)) - 3)];
5036 void (*_function) (sigval_t);
5043 #define sigev_notify_function _sigev_un._sigev_thread._function
5044 #define sigev_notify_attributes _sigev_un._sigev_thread._attribute
5050 #define SIGEV_SIGNAL SIGEV_SIGNAL
5052 #define SIGEV_NONE SIGEV_NONE
5054 #define SIGEV_THREAD SIGEV_THREAD
5057 #define SIGEV_THREAD_ID SIGEV_THREAD_ID
5059 # 213 "/usr/include/signal.h" 2 3 4
5063 extern int sigemptyset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5066 extern int sigfillset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5069 extern int sigaddset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5072 extern int sigdelset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5075 extern int sigismember (__const sigset_t *__set, int __signo)
5076 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5077 # 246 "/usr/include/signal.h" 3 4
5078 # 1 "/usr/include/bits/sigaction.h" 1 3 4
5079 # 25 "/usr/include/bits/sigaction.h" 3 4
5087 __sighandler_t sa_handler;
5089 void (*sa_sigaction) (int, siginfo_t *, void *);
5091 __sigaction_handler;
5092 #define sa_handler __sigaction_handler.sa_handler
5093 #define sa_sigaction __sigaction_handler.sa_sigaction
5105 void (*sa_restorer) (void);
5109 #define SA_NOCLDSTOP 1
5110 #define SA_NOCLDWAIT 2
5111 #define SA_SIGINFO 4
5114 #define SA_ONSTACK 0x08000000
5115 #define SA_RESTART 0x10000000
5116 #define SA_NODEFER 0x40000000
5118 #define SA_RESETHAND 0x80000000
5121 #define SA_INTERRUPT 0x20000000
5124 #define SA_NOMASK SA_NODEFER
5125 #define SA_ONESHOT SA_RESETHAND
5126 #define SA_STACK SA_ONSTACK
5131 #define SIG_UNBLOCK 1
5132 #define SIG_SETMASK 2
5133 # 247 "/usr/include/signal.h" 2 3 4
5136 extern int sigprocmask (int __how, __const sigset_t *__restrict __set,
5137 sigset_t *__restrict __oset) __attribute__ ((__nothrow__));
5144 extern int sigsuspend (__const sigset_t *__set) __attribute__ ((__nonnull__ (1)));
5147 extern int sigaction (int __sig, __const struct sigaction *__restrict __act,
5148 struct sigaction *__restrict __oact) __attribute__ ((__nothrow__));
5151 extern int sigpending (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5158 extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig)
5159 __attribute__ ((__nonnull__ (1, 2)));
5166 extern int sigwaitinfo (__const sigset_t *__restrict __set,
5167 siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1)));
5174 extern int sigtimedwait (__const sigset_t *__restrict __set,
5175 siginfo_t *__restrict __info,
5176 __const struct timespec *__restrict __timeout)
5177 __attribute__ ((__nonnull__ (1)));
5181 extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val)
5182 __attribute__ ((__nothrow__));
5183 # 304 "/usr/include/signal.h" 3 4
5184 extern __const char *__const _sys_siglist[65];
5185 extern __const char *__const sys_siglist[65];
5190 __sighandler_t sv_handler;
5194 #define sv_onstack sv_flags
5198 #define SV_ONSTACK (1 << 0)
5199 #define SV_INTERRUPT (1 << 1)
5200 #define SV_RESETHAND (1 << 2)
5208 extern int sigvec (int __sig, __const struct sigvec *__vec,
5209 struct sigvec *__ovec) __attribute__ ((__nothrow__));
5213 # 1 "/usr/include/bits/sigcontext.h" 1 3 4
5214 # 26 "/usr/include/bits/sigcontext.h" 3 4
5215 #define sigcontext_struct sigcontext
5217 # 1 "/usr/include/asm/sigcontext.h" 1 3 4
5219 #define _ASMi386_SIGCONTEXT_H
5220 # 19 "/usr/include/asm/sigcontext.h" 3 4
5222 unsigned short significand[4];
5223 unsigned short exponent;
5227 unsigned short significand[4];
5228 unsigned short exponent;
5229 unsigned short padding[3];
5233 unsigned long element[4];
5241 unsigned long ipoff;
5242 unsigned long cssel;
5243 unsigned long dataoff;
5244 unsigned long datasel;
5245 struct _fpreg _st[8];
5246 unsigned short status;
5247 unsigned short magic;
5250 unsigned long _fxsr_env[6];
5251 unsigned long mxcsr;
5252 unsigned long reserved;
5253 struct _fpxreg _fxsr_st[8];
5254 struct _xmmreg _xmm[8];
5255 unsigned long padding[56];
5258 #define X86_FXSR_MAGIC 0x0000
5261 unsigned short gs, __gsh;
5262 unsigned short fs, __fsh;
5263 unsigned short es, __esh;
5264 unsigned short ds, __dsh;
5273 unsigned long trapno;
5276 unsigned short cs, __csh;
5277 unsigned long eflags;
5278 unsigned long esp_at_signal;
5279 unsigned short ss, __ssh;
5280 struct _fpstate * fpstate;
5281 unsigned long oldmask;
5284 # 29 "/usr/include/bits/sigcontext.h" 2 3 4
5285 # 334 "/usr/include/signal.h" 2 3 4
5288 extern int sigreturn (struct sigcontext *__scp) __attribute__ ((__nothrow__));
5289 # 346 "/usr/include/signal.h" 3 4
5290 extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__));
5292 # 1 "/usr/include/bits/sigstack.h" 1 3 4
5293 # 26 "/usr/include/bits/sigstack.h" 3 4
5305 #define SS_ONSTACK SS_ONSTACK
5307 #define SS_DISABLE SS_DISABLE
5311 #define MINSIGSTKSZ 2048
5314 #define SIGSTKSZ 8192
5318 typedef struct sigaltstack
5324 # 349 "/usr/include/signal.h" 2 3 4
5325 # 357 "/usr/include/signal.h" 3 4
5326 extern int sigstack (struct sigstack *__ss, struct sigstack *__oss)
5327 __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
5331 extern int sigaltstack (__const struct sigaltstack *__restrict __ss,
5332 struct sigaltstack *__restrict __oss) __attribute__ ((__nothrow__));
5333 # 387 "/usr/include/signal.h" 3 4
5334 # 1 "/usr/include/bits/sigthread.h" 1 3 4
5335 # 21 "/usr/include/bits/sigthread.h" 3 4
5336 #define _BITS_SIGTHREAD_H 1
5337 # 31 "/usr/include/bits/sigthread.h" 3 4
5338 extern int pthread_sigmask (int __how,
5339 __const __sigset_t *__restrict __newmask,
5340 __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__));
5343 extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__));
5344 # 388 "/usr/include/signal.h" 2 3 4
5351 extern int __libc_current_sigrtmin (void) __attribute__ ((__nothrow__));
5353 extern int __libc_current_sigrtmax (void) __attribute__ ((__nothrow__));
5361 # 1 "/usr/include/getopt.h" 1 3 4
5362 # 24 "/usr/include/getopt.h" 3 4
5364 # 59 "/usr/include/getopt.h" 3 4
5365 extern char *optarg;
5366 # 73 "/usr/include/getopt.h" 3 4
5377 # 106 "/usr/include/getopt.h" 3 4
5390 #define no_argument 0
5391 #define required_argument 1
5392 #define optional_argument 2
5393 # 152 "/usr/include/getopt.h" 3 4
5394 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
5395 __attribute__ ((__nothrow__));
5401 extern int getopt_long (int ___argc, char *const *___argv,
5402 const char *__shortopts,
5403 const struct option *__longopts, int *__longind)
5404 __attribute__ ((__nothrow__));
5405 extern int getopt_long_only (int ___argc, char *const *___argv,
5406 const char *__shortopts,
5407 const struct option *__longopts, int *__longind)
5408 __attribute__ ((__nothrow__));
5409 # 175 "/usr/include/getopt.h" 3 4
5410 #undef __need_getopt
5416 # 1 "/usr/include/unistd.h" 1 3 4
5417 # 24 "/usr/include/unistd.h" 3 4
5428 #define _POSIX_VERSION 200112L
5434 #define _POSIX2_VERSION 200112L
5438 #define _POSIX2_C_BIND 200112L
5442 #define _POSIX2_C_DEV 200112L
5446 #define _POSIX2_SW_DEV 200112L
5450 #define _POSIX2_LOCALEDEF 200112L
5454 #define _XOPEN_VERSION 600
5462 #define _XOPEN_XCU_VERSION 4
5465 #define _XOPEN_XPG2 1
5466 #define _XOPEN_XPG3 1
5467 #define _XOPEN_XPG4 1
5470 #define _XOPEN_UNIX 1
5473 #define _XOPEN_CRYPT 1
5477 #define _XOPEN_ENH_I18N 1
5480 #define _XOPEN_LEGACY 1
5481 # 173 "/usr/include/unistd.h" 3 4
5482 # 1 "/usr/include/bits/posix_opt.h" 1 3 4
5483 # 21 "/usr/include/bits/posix_opt.h" 3 4
5484 #define _POSIX_OPT_H 1
5487 #define _POSIX_JOB_CONTROL 1
5490 #define _POSIX_SAVED_IDS 1
5493 #define _POSIX_PRIORITY_SCHEDULING 200112L
5496 #define _POSIX_SYNCHRONIZED_IO 200112L
5499 #define _POSIX_FSYNC 200112L
5502 #define _POSIX_MAPPED_FILES 200112L
5505 #define _POSIX_MEMLOCK 200112L
5508 #define _POSIX_MEMLOCK_RANGE 200112L
5511 #define _POSIX_MEMORY_PROTECTION 200112L
5514 #define _POSIX_CHOWN_RESTRICTED 1
5518 #define _POSIX_VDISABLE '\0'
5521 #define _POSIX_NO_TRUNC 1
5524 #define _XOPEN_REALTIME 1
5527 #define _XOPEN_REALTIME_THREADS 1
5530 #define _XOPEN_SHM 1
5533 #define _POSIX_THREADS 200112L
5536 #define _POSIX_REENTRANT_FUNCTIONS 1
5537 #define _POSIX_THREAD_SAFE_FUNCTIONS 200112L
5540 #define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L
5543 #define _POSIX_THREAD_ATTR_STACKSIZE 200112L
5546 #define _POSIX_THREAD_ATTR_STACKADDR 200112L
5549 #define _POSIX_THREAD_PRIO_INHERIT 200112L
5553 #define _POSIX_THREAD_PRIO_PROTECT 200112L
5556 #define _POSIX_SEMAPHORES 200112L
5559 #define _POSIX_REALTIME_SIGNALS 200112L
5562 #define _POSIX_ASYNCHRONOUS_IO 200112L
5563 #define _POSIX_ASYNC_IO 1
5565 #define _LFS_ASYNCHRONOUS_IO 1
5567 #define _POSIX_PRIORITIZED_IO 200112L
5570 #define _LFS64_ASYNCHRONOUS_IO 1
5573 #define _LFS_LARGEFILE 1
5574 #define _LFS64_LARGEFILE 1
5575 #define _LFS64_STDIO 1
5578 #define _POSIX_SHARED_MEMORY_OBJECTS 200112L
5581 #define _POSIX_CPUTIME 0
5584 #define _POSIX_THREAD_CPUTIME 0
5587 #define _POSIX_REGEXP 1
5590 #define _POSIX_READER_WRITER_LOCKS 200112L
5593 #define _POSIX_SHELL 1
5596 #define _POSIX_TIMEOUTS 200112L
5599 #define _POSIX_SPIN_LOCKS 200112L
5602 #define _POSIX_SPAWN 200112L
5605 #define _POSIX_TIMERS 200112L
5608 #define _POSIX_BARRIERS 200112L
5611 #define _POSIX_MESSAGE_PASSING 200112L
5614 #define _POSIX_THREAD_PROCESS_SHARED 200112L
5617 #define _POSIX_MONOTONIC_CLOCK 0
5620 #define _POSIX_CLOCK_SELECTION 200112L
5623 #define _POSIX_ADVISORY_INFO 200112L
5626 #define _POSIX_IPV6 200112L
5629 #define _POSIX_RAW_SOCKETS 200112L
5632 #define _POSIX2_CHAR_TERM 200112L
5635 #define _POSIX_SPORADIC_SERVER -1
5636 #define _POSIX_THREAD_SPORADIC_SERVER -1
5639 #define _POSIX_TRACE -1
5640 #define _POSIX_TRACE_EVENT_FILTER -1
5641 #define _POSIX_TRACE_INHERIT -1
5642 #define _POSIX_TRACE_LOG -1
5645 #define _POSIX_TYPED_MEMORY_OBJECTS -1
5646 # 174 "/usr/include/unistd.h" 2 3 4
5654 #define STDIN_FILENO 0
5655 #define STDOUT_FILENO 1
5656 #define STDERR_FILENO 2
5657 # 195 "/usr/include/unistd.h" 3 4
5658 #define __need_size_t
5660 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
5661 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
5662 #undef __need_size_t
5663 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
5669 #define NULL ((void *)0)
5676 # 198 "/usr/include/unistd.h" 2 3 4
5677 # 226 "/usr/include/unistd.h" 3 4
5678 typedef __useconds_t useconds_t;
5679 #define __useconds_t_defined
5680 # 238 "/usr/include/unistd.h" 3 4
5681 typedef __intptr_t intptr_t;
5682 #define __intptr_t_defined
5688 typedef __socklen_t socklen_t;
5689 #define __socklen_t_defined
5701 extern int access (__const char *__name, int __type) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5702 # 289 "/usr/include/unistd.h" 3 4
5703 #define L_SET SEEK_SET
5704 #define L_INCR SEEK_CUR
5705 #define L_XTND SEEK_END
5706 # 301 "/usr/include/unistd.h" 3 4
5707 extern __off_t lseek (int __fd, __off_t __offset, int __whence) __attribute__ ((__nothrow__));
5708 # 320 "/usr/include/unistd.h" 3 4
5709 extern int close (int __fd);
5716 extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ;
5722 extern ssize_t write (int __fd, __const void *__buf, size_t __n) ;
5723 # 384 "/usr/include/unistd.h" 3 4
5724 extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__)) ;
5725 # 393 "/usr/include/unistd.h" 3 4
5726 extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__));
5727 # 405 "/usr/include/unistd.h" 3 4
5728 extern unsigned int sleep (unsigned int __seconds);
5735 extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
5736 __attribute__ ((__nothrow__));
5743 extern int usleep (__useconds_t __useconds);
5744 # 429 "/usr/include/unistd.h" 3 4
5745 extern int pause (void);
5749 extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
5750 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
5754 extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__)) ;
5759 extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
5760 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
5761 # 457 "/usr/include/unistd.h" 3 4
5762 extern int chdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
5766 extern int fchdir (int __fd) __attribute__ ((__nothrow__)) ;
5767 # 471 "/usr/include/unistd.h" 3 4
5768 extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__)) ;
5769 # 484 "/usr/include/unistd.h" 3 4
5770 extern char *getwd (char *__buf)
5771 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ;
5776 extern int dup (int __fd) __attribute__ ((__nothrow__)) ;
5779 extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__));
5782 extern char **__environ;
5790 extern int execve (__const char *__path, char *__const __argv[],
5791 char *__const __envp[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5792 # 516 "/usr/include/unistd.h" 3 4
5793 extern int execv (__const char *__path, char *__const __argv[])
5794 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5798 extern int execle (__const char *__path, __const char *__arg, ...)
5799 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5803 extern int execl (__const char *__path, __const char *__arg, ...)
5804 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5808 extern int execvp (__const char *__file, char *__const __argv[])
5809 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5814 extern int execlp (__const char *__file, __const char *__arg, ...)
5815 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5820 extern int nice (int __inc) __attribute__ ((__nothrow__)) ;
5825 extern void _exit (int __status) __attribute__ ((__noreturn__));
5831 # 1 "/usr/include/bits/confname.h" 1 3 4
5832 # 26 "/usr/include/bits/confname.h" 3 4
5836 #define _PC_LINK_MAX _PC_LINK_MAX
5838 #define _PC_MAX_CANON _PC_MAX_CANON
5840 #define _PC_MAX_INPUT _PC_MAX_INPUT
5842 #define _PC_NAME_MAX _PC_NAME_MAX
5844 #define _PC_PATH_MAX _PC_PATH_MAX
5846 #define _PC_PIPE_BUF _PC_PIPE_BUF
5847 _PC_CHOWN_RESTRICTED,
5848 #define _PC_CHOWN_RESTRICTED _PC_CHOWN_RESTRICTED
5850 #define _PC_NO_TRUNC _PC_NO_TRUNC
5852 #define _PC_VDISABLE _PC_VDISABLE
5854 #define _PC_SYNC_IO _PC_SYNC_IO
5856 #define _PC_ASYNC_IO _PC_ASYNC_IO
5858 #define _PC_PRIO_IO _PC_PRIO_IO
5860 #define _PC_SOCK_MAXBUF _PC_SOCK_MAXBUF
5862 #define _PC_FILESIZEBITS _PC_FILESIZEBITS
5863 _PC_REC_INCR_XFER_SIZE,
5864 #define _PC_REC_INCR_XFER_SIZE _PC_REC_INCR_XFER_SIZE
5865 _PC_REC_MAX_XFER_SIZE,
5866 #define _PC_REC_MAX_XFER_SIZE _PC_REC_MAX_XFER_SIZE
5867 _PC_REC_MIN_XFER_SIZE,
5868 #define _PC_REC_MIN_XFER_SIZE _PC_REC_MIN_XFER_SIZE
5870 #define _PC_REC_XFER_ALIGN _PC_REC_XFER_ALIGN
5872 #define _PC_ALLOC_SIZE_MIN _PC_ALLOC_SIZE_MIN
5874 #define _PC_SYMLINK_MAX _PC_SYMLINK_MAX
5876 #define _PC_2_SYMLINKS _PC_2_SYMLINKS
5883 #define _SC_ARG_MAX _SC_ARG_MAX
5885 #define _SC_CHILD_MAX _SC_CHILD_MAX
5887 #define _SC_CLK_TCK _SC_CLK_TCK
5889 #define _SC_NGROUPS_MAX _SC_NGROUPS_MAX
5891 #define _SC_OPEN_MAX _SC_OPEN_MAX
5893 #define _SC_STREAM_MAX _SC_STREAM_MAX
5895 #define _SC_TZNAME_MAX _SC_TZNAME_MAX
5897 #define _SC_JOB_CONTROL _SC_JOB_CONTROL
5899 #define _SC_SAVED_IDS _SC_SAVED_IDS
5900 _SC_REALTIME_SIGNALS,
5901 #define _SC_REALTIME_SIGNALS _SC_REALTIME_SIGNALS
5902 _SC_PRIORITY_SCHEDULING,
5903 #define _SC_PRIORITY_SCHEDULING _SC_PRIORITY_SCHEDULING
5905 #define _SC_TIMERS _SC_TIMERS
5906 _SC_ASYNCHRONOUS_IO,
5907 #define _SC_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO
5909 #define _SC_PRIORITIZED_IO _SC_PRIORITIZED_IO
5910 _SC_SYNCHRONIZED_IO,
5911 #define _SC_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IO
5913 #define _SC_FSYNC _SC_FSYNC
5915 #define _SC_MAPPED_FILES _SC_MAPPED_FILES
5917 #define _SC_MEMLOCK _SC_MEMLOCK
5919 #define _SC_MEMLOCK_RANGE _SC_MEMLOCK_RANGE
5920 _SC_MEMORY_PROTECTION,
5921 #define _SC_MEMORY_PROTECTION _SC_MEMORY_PROTECTION
5922 _SC_MESSAGE_PASSING,
5923 #define _SC_MESSAGE_PASSING _SC_MESSAGE_PASSING
5925 #define _SC_SEMAPHORES _SC_SEMAPHORES
5926 _SC_SHARED_MEMORY_OBJECTS,
5927 #define _SC_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTS
5929 #define _SC_AIO_LISTIO_MAX _SC_AIO_LISTIO_MAX
5931 #define _SC_AIO_MAX _SC_AIO_MAX
5932 _SC_AIO_PRIO_DELTA_MAX,
5933 #define _SC_AIO_PRIO_DELTA_MAX _SC_AIO_PRIO_DELTA_MAX
5935 #define _SC_DELAYTIMER_MAX _SC_DELAYTIMER_MAX
5937 #define _SC_MQ_OPEN_MAX _SC_MQ_OPEN_MAX
5939 #define _SC_MQ_PRIO_MAX _SC_MQ_PRIO_MAX
5941 #define _SC_VERSION _SC_VERSION
5943 #define _SC_PAGESIZE _SC_PAGESIZE
5944 #define _SC_PAGE_SIZE _SC_PAGESIZE
5946 #define _SC_RTSIG_MAX _SC_RTSIG_MAX
5948 #define _SC_SEM_NSEMS_MAX _SC_SEM_NSEMS_MAX
5950 #define _SC_SEM_VALUE_MAX _SC_SEM_VALUE_MAX
5952 #define _SC_SIGQUEUE_MAX _SC_SIGQUEUE_MAX
5954 #define _SC_TIMER_MAX _SC_TIMER_MAX
5959 #define _SC_BC_BASE_MAX _SC_BC_BASE_MAX
5961 #define _SC_BC_DIM_MAX _SC_BC_DIM_MAX
5963 #define _SC_BC_SCALE_MAX _SC_BC_SCALE_MAX
5965 #define _SC_BC_STRING_MAX _SC_BC_STRING_MAX
5966 _SC_COLL_WEIGHTS_MAX,
5967 #define _SC_COLL_WEIGHTS_MAX _SC_COLL_WEIGHTS_MAX
5968 _SC_EQUIV_CLASS_MAX,
5969 #define _SC_EQUIV_CLASS_MAX _SC_EQUIV_CLASS_MAX
5971 #define _SC_EXPR_NEST_MAX _SC_EXPR_NEST_MAX
5973 #define _SC_LINE_MAX _SC_LINE_MAX
5975 #define _SC_RE_DUP_MAX _SC_RE_DUP_MAX
5976 _SC_CHARCLASS_NAME_MAX,
5977 #define _SC_CHARCLASS_NAME_MAX _SC_CHARCLASS_NAME_MAX
5980 #define _SC_2_VERSION _SC_2_VERSION
5982 #define _SC_2_C_BIND _SC_2_C_BIND
5984 #define _SC_2_C_DEV _SC_2_C_DEV
5986 #define _SC_2_FORT_DEV _SC_2_FORT_DEV
5988 #define _SC_2_FORT_RUN _SC_2_FORT_RUN
5990 #define _SC_2_SW_DEV _SC_2_SW_DEV
5992 #define _SC_2_LOCALEDEF _SC_2_LOCALEDEF
5995 #define _SC_PII _SC_PII
5997 #define _SC_PII_XTI _SC_PII_XTI
5999 #define _SC_PII_SOCKET _SC_PII_SOCKET
6001 #define _SC_PII_INTERNET _SC_PII_INTERNET
6003 #define _SC_PII_OSI _SC_PII_OSI
6005 #define _SC_POLL _SC_POLL
6007 #define _SC_SELECT _SC_SELECT
6009 #define _SC_UIO_MAXIOV _SC_UIO_MAXIOV
6010 _SC_IOV_MAX = _SC_UIO_MAXIOV,
6011 #define _SC_IOV_MAX _SC_IOV_MAX
6012 _SC_PII_INTERNET_STREAM,
6013 #define _SC_PII_INTERNET_STREAM _SC_PII_INTERNET_STREAM
6014 _SC_PII_INTERNET_DGRAM,
6015 #define _SC_PII_INTERNET_DGRAM _SC_PII_INTERNET_DGRAM
6017 #define _SC_PII_OSI_COTS _SC_PII_OSI_COTS
6019 #define _SC_PII_OSI_CLTS _SC_PII_OSI_CLTS
6021 #define _SC_PII_OSI_M _SC_PII_OSI_M
6023 #define _SC_T_IOV_MAX _SC_T_IOV_MAX
6027 #define _SC_THREADS _SC_THREADS
6028 _SC_THREAD_SAFE_FUNCTIONS,
6029 #define _SC_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS
6030 _SC_GETGR_R_SIZE_MAX,
6031 #define _SC_GETGR_R_SIZE_MAX _SC_GETGR_R_SIZE_MAX
6032 _SC_GETPW_R_SIZE_MAX,
6033 #define _SC_GETPW_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX
6035 #define _SC_LOGIN_NAME_MAX _SC_LOGIN_NAME_MAX
6037 #define _SC_TTY_NAME_MAX _SC_TTY_NAME_MAX
6038 _SC_THREAD_DESTRUCTOR_ITERATIONS,
6039 #define _SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS
6040 _SC_THREAD_KEYS_MAX,
6041 #define _SC_THREAD_KEYS_MAX _SC_THREAD_KEYS_MAX
6042 _SC_THREAD_STACK_MIN,
6043 #define _SC_THREAD_STACK_MIN _SC_THREAD_STACK_MIN
6044 _SC_THREAD_THREADS_MAX,
6045 #define _SC_THREAD_THREADS_MAX _SC_THREAD_THREADS_MAX
6046 _SC_THREAD_ATTR_STACKADDR,
6047 #define _SC_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKADDR
6048 _SC_THREAD_ATTR_STACKSIZE,
6049 #define _SC_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE
6050 _SC_THREAD_PRIORITY_SCHEDULING,
6051 #define _SC_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING
6052 _SC_THREAD_PRIO_INHERIT,
6053 #define _SC_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_INHERIT
6054 _SC_THREAD_PRIO_PROTECT,
6055 #define _SC_THREAD_PRIO_PROTECT _SC_THREAD_PRIO_PROTECT
6056 _SC_THREAD_PROCESS_SHARED,
6057 #define _SC_THREAD_PROCESS_SHARED _SC_THREAD_PROCESS_SHARED
6059 _SC_NPROCESSORS_CONF,
6060 #define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF
6061 _SC_NPROCESSORS_ONLN,
6062 #define _SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLN
6064 #define _SC_PHYS_PAGES _SC_PHYS_PAGES
6066 #define _SC_AVPHYS_PAGES _SC_AVPHYS_PAGES
6068 #define _SC_ATEXIT_MAX _SC_ATEXIT_MAX
6070 #define _SC_PASS_MAX _SC_PASS_MAX
6073 #define _SC_XOPEN_VERSION _SC_XOPEN_VERSION
6074 _SC_XOPEN_XCU_VERSION,
6075 #define _SC_XOPEN_XCU_VERSION _SC_XOPEN_XCU_VERSION
6077 #define _SC_XOPEN_UNIX _SC_XOPEN_UNIX
6079 #define _SC_XOPEN_CRYPT _SC_XOPEN_CRYPT
6081 #define _SC_XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N
6083 #define _SC_XOPEN_SHM _SC_XOPEN_SHM
6086 #define _SC_2_CHAR_TERM _SC_2_CHAR_TERM
6088 #define _SC_2_C_VERSION _SC_2_C_VERSION
6090 #define _SC_2_UPE _SC_2_UPE
6093 #define _SC_XOPEN_XPG2 _SC_XOPEN_XPG2
6095 #define _SC_XOPEN_XPG3 _SC_XOPEN_XPG3
6097 #define _SC_XOPEN_XPG4 _SC_XOPEN_XPG4
6100 #define _SC_CHAR_BIT _SC_CHAR_BIT
6102 #define _SC_CHAR_MAX _SC_CHAR_MAX
6104 #define _SC_CHAR_MIN _SC_CHAR_MIN
6106 #define _SC_INT_MAX _SC_INT_MAX
6108 #define _SC_INT_MIN _SC_INT_MIN
6110 #define _SC_LONG_BIT _SC_LONG_BIT
6112 #define _SC_WORD_BIT _SC_WORD_BIT
6114 #define _SC_MB_LEN_MAX _SC_MB_LEN_MAX
6116 #define _SC_NZERO _SC_NZERO
6118 #define _SC_SSIZE_MAX _SC_SSIZE_MAX
6120 #define _SC_SCHAR_MAX _SC_SCHAR_MAX
6122 #define _SC_SCHAR_MIN _SC_SCHAR_MIN
6124 #define _SC_SHRT_MAX _SC_SHRT_MAX
6126 #define _SC_SHRT_MIN _SC_SHRT_MIN
6128 #define _SC_UCHAR_MAX _SC_UCHAR_MAX
6130 #define _SC_UINT_MAX _SC_UINT_MAX
6132 #define _SC_ULONG_MAX _SC_ULONG_MAX
6134 #define _SC_USHRT_MAX _SC_USHRT_MAX
6137 #define _SC_NL_ARGMAX _SC_NL_ARGMAX
6139 #define _SC_NL_LANGMAX _SC_NL_LANGMAX
6141 #define _SC_NL_MSGMAX _SC_NL_MSGMAX
6143 #define _SC_NL_NMAX _SC_NL_NMAX
6145 #define _SC_NL_SETMAX _SC_NL_SETMAX
6147 #define _SC_NL_TEXTMAX _SC_NL_TEXTMAX
6149 _SC_XBS5_ILP32_OFF32,
6150 #define _SC_XBS5_ILP32_OFF32 _SC_XBS5_ILP32_OFF32
6151 _SC_XBS5_ILP32_OFFBIG,
6152 #define _SC_XBS5_ILP32_OFFBIG _SC_XBS5_ILP32_OFFBIG
6153 _SC_XBS5_LP64_OFF64,
6154 #define _SC_XBS5_LP64_OFF64 _SC_XBS5_LP64_OFF64
6155 _SC_XBS5_LPBIG_OFFBIG,
6156 #define _SC_XBS5_LPBIG_OFFBIG _SC_XBS5_LPBIG_OFFBIG
6159 #define _SC_XOPEN_LEGACY _SC_XOPEN_LEGACY
6161 #define _SC_XOPEN_REALTIME _SC_XOPEN_REALTIME
6162 _SC_XOPEN_REALTIME_THREADS,
6163 #define _SC_XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADS
6166 #define _SC_ADVISORY_INFO _SC_ADVISORY_INFO
6168 #define _SC_BARRIERS _SC_BARRIERS
6170 #define _SC_BASE _SC_BASE
6172 #define _SC_C_LANG_SUPPORT _SC_C_LANG_SUPPORT
6173 _SC_C_LANG_SUPPORT_R,
6174 #define _SC_C_LANG_SUPPORT_R _SC_C_LANG_SUPPORT_R
6175 _SC_CLOCK_SELECTION,
6176 #define _SC_CLOCK_SELECTION _SC_CLOCK_SELECTION
6178 #define _SC_CPUTIME _SC_CPUTIME
6180 #define _SC_THREAD_CPUTIME _SC_THREAD_CPUTIME
6182 #define _SC_DEVICE_IO _SC_DEVICE_IO
6183 _SC_DEVICE_SPECIFIC,
6184 #define _SC_DEVICE_SPECIFIC _SC_DEVICE_SPECIFIC
6185 _SC_DEVICE_SPECIFIC_R,
6186 #define _SC_DEVICE_SPECIFIC_R _SC_DEVICE_SPECIFIC_R
6188 #define _SC_FD_MGMT _SC_FD_MGMT
6190 #define _SC_FIFO _SC_FIFO
6192 #define _SC_PIPE _SC_PIPE
6193 _SC_FILE_ATTRIBUTES,
6194 #define _SC_FILE_ATTRIBUTES _SC_FILE_ATTRIBUTES
6196 #define _SC_FILE_LOCKING _SC_FILE_LOCKING
6198 #define _SC_FILE_SYSTEM _SC_FILE_SYSTEM
6199 _SC_MONOTONIC_CLOCK,
6200 #define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK
6202 #define _SC_MULTI_PROCESS _SC_MULTI_PROCESS
6204 #define _SC_SINGLE_PROCESS _SC_SINGLE_PROCESS
6206 #define _SC_NETWORKING _SC_NETWORKING
6207 _SC_READER_WRITER_LOCKS,
6208 #define _SC_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKS
6210 #define _SC_SPIN_LOCKS _SC_SPIN_LOCKS
6212 #define _SC_REGEXP _SC_REGEXP
6214 #define _SC_REGEX_VERSION _SC_REGEX_VERSION
6216 #define _SC_SHELL _SC_SHELL
6218 #define _SC_SIGNALS _SC_SIGNALS
6220 #define _SC_SPAWN _SC_SPAWN
6221 _SC_SPORADIC_SERVER,
6222 #define _SC_SPORADIC_SERVER _SC_SPORADIC_SERVER
6223 _SC_THREAD_SPORADIC_SERVER,
6224 #define _SC_THREAD_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER
6225 _SC_SYSTEM_DATABASE,
6226 #define _SC_SYSTEM_DATABASE _SC_SYSTEM_DATABASE
6227 _SC_SYSTEM_DATABASE_R,
6228 #define _SC_SYSTEM_DATABASE_R _SC_SYSTEM_DATABASE_R
6230 #define _SC_TIMEOUTS _SC_TIMEOUTS
6231 _SC_TYPED_MEMORY_OBJECTS,
6232 #define _SC_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS
6234 #define _SC_USER_GROUPS _SC_USER_GROUPS
6236 #define _SC_USER_GROUPS_R _SC_USER_GROUPS_R
6238 #define _SC_2_PBS _SC_2_PBS
6239 _SC_2_PBS_ACCOUNTING,
6240 #define _SC_2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING
6242 #define _SC_2_PBS_LOCATE _SC_2_PBS_LOCATE
6244 #define _SC_2_PBS_MESSAGE _SC_2_PBS_MESSAGE
6246 #define _SC_2_PBS_TRACK _SC_2_PBS_TRACK
6248 #define _SC_SYMLOOP_MAX _SC_SYMLOOP_MAX
6250 #define _SC_STREAMS _SC_STREAMS
6251 _SC_2_PBS_CHECKPOINT,
6252 #define _SC_2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT
6255 #define _SC_V6_ILP32_OFF32 _SC_V6_ILP32_OFF32
6256 _SC_V6_ILP32_OFFBIG,
6257 #define _SC_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG
6259 #define _SC_V6_LP64_OFF64 _SC_V6_LP64_OFF64
6260 _SC_V6_LPBIG_OFFBIG,
6261 #define _SC_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG
6264 #define _SC_HOST_NAME_MAX _SC_HOST_NAME_MAX
6266 #define _SC_TRACE _SC_TRACE
6267 _SC_TRACE_EVENT_FILTER,
6268 #define _SC_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER
6270 #define _SC_TRACE_INHERIT _SC_TRACE_INHERIT
6272 #define _SC_TRACE_LOG _SC_TRACE_LOG
6274 _SC_LEVEL1_ICACHE_SIZE,
6275 #define _SC_LEVEL1_ICACHE_SIZE _SC_LEVEL1_ICACHE_SIZE
6276 _SC_LEVEL1_ICACHE_ASSOC,
6277 #define _SC_LEVEL1_ICACHE_ASSOC _SC_LEVEL1_ICACHE_ASSOC
6278 _SC_LEVEL1_ICACHE_LINESIZE,
6279 #define _SC_LEVEL1_ICACHE_LINESIZE _SC_LEVEL1_ICACHE_LINESIZE
6280 _SC_LEVEL1_DCACHE_SIZE,
6281 #define _SC_LEVEL1_DCACHE_SIZE _SC_LEVEL1_DCACHE_SIZE
6282 _SC_LEVEL1_DCACHE_ASSOC,
6283 #define _SC_LEVEL1_DCACHE_ASSOC _SC_LEVEL1_DCACHE_ASSOC
6284 _SC_LEVEL1_DCACHE_LINESIZE,
6285 #define _SC_LEVEL1_DCACHE_LINESIZE _SC_LEVEL1_DCACHE_LINESIZE
6286 _SC_LEVEL2_CACHE_SIZE,
6287 #define _SC_LEVEL2_CACHE_SIZE _SC_LEVEL2_CACHE_SIZE
6288 _SC_LEVEL2_CACHE_ASSOC,
6289 #define _SC_LEVEL2_CACHE_ASSOC _SC_LEVEL2_CACHE_ASSOC
6290 _SC_LEVEL2_CACHE_LINESIZE,
6291 #define _SC_LEVEL2_CACHE_LINESIZE _SC_LEVEL2_CACHE_LINESIZE
6292 _SC_LEVEL3_CACHE_SIZE,
6293 #define _SC_LEVEL3_CACHE_SIZE _SC_LEVEL3_CACHE_SIZE
6294 _SC_LEVEL3_CACHE_ASSOC,
6295 #define _SC_LEVEL3_CACHE_ASSOC _SC_LEVEL3_CACHE_ASSOC
6296 _SC_LEVEL3_CACHE_LINESIZE,
6297 #define _SC_LEVEL3_CACHE_LINESIZE _SC_LEVEL3_CACHE_LINESIZE
6298 _SC_LEVEL4_CACHE_SIZE,
6299 #define _SC_LEVEL4_CACHE_SIZE _SC_LEVEL4_CACHE_SIZE
6300 _SC_LEVEL4_CACHE_ASSOC,
6301 #define _SC_LEVEL4_CACHE_ASSOC _SC_LEVEL4_CACHE_ASSOC
6302 _SC_LEVEL4_CACHE_LINESIZE,
6303 #define _SC_LEVEL4_CACHE_LINESIZE _SC_LEVEL4_CACHE_LINESIZE
6306 _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
6307 #define _SC_IPV6 _SC_IPV6
6309 #define _SC_RAW_SOCKETS _SC_RAW_SOCKETS
6316 #define _CS_PATH _CS_PATH
6318 _CS_V6_WIDTH_RESTRICTED_ENVS,
6319 #define _CS_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS
6321 _CS_GNU_LIBC_VERSION,
6322 #define _CS_GNU_LIBC_VERSION _CS_GNU_LIBC_VERSION
6323 _CS_GNU_LIBPTHREAD_VERSION,
6324 #define _CS_GNU_LIBPTHREAD_VERSION _CS_GNU_LIBPTHREAD_VERSION
6326 _CS_LFS_CFLAGS = 1000,
6327 #define _CS_LFS_CFLAGS _CS_LFS_CFLAGS
6329 #define _CS_LFS_LDFLAGS _CS_LFS_LDFLAGS
6331 #define _CS_LFS_LIBS _CS_LFS_LIBS
6333 #define _CS_LFS_LINTFLAGS _CS_LFS_LINTFLAGS
6335 #define _CS_LFS64_CFLAGS _CS_LFS64_CFLAGS
6337 #define _CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS
6339 #define _CS_LFS64_LIBS _CS_LFS64_LIBS
6340 _CS_LFS64_LINTFLAGS,
6341 #define _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS
6343 _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
6344 #define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS
6345 _CS_XBS5_ILP32_OFF32_LDFLAGS,
6346 #define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS
6347 _CS_XBS5_ILP32_OFF32_LIBS,
6348 #define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS
6349 _CS_XBS5_ILP32_OFF32_LINTFLAGS,
6350 #define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS
6351 _CS_XBS5_ILP32_OFFBIG_CFLAGS,
6352 #define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS
6353 _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
6354 #define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS
6355 _CS_XBS5_ILP32_OFFBIG_LIBS,
6356 #define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS
6357 _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
6358 #define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
6359 _CS_XBS5_LP64_OFF64_CFLAGS,
6360 #define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS
6361 _CS_XBS5_LP64_OFF64_LDFLAGS,
6362 #define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS
6363 _CS_XBS5_LP64_OFF64_LIBS,
6364 #define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS
6365 _CS_XBS5_LP64_OFF64_LINTFLAGS,
6366 #define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS
6367 _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
6368 #define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS
6369 _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
6370 #define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
6371 _CS_XBS5_LPBIG_OFFBIG_LIBS,
6372 #define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS
6373 _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
6374 #define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
6376 _CS_POSIX_V6_ILP32_OFF32_CFLAGS,
6377 #define _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS
6378 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
6379 #define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
6380 _CS_POSIX_V6_ILP32_OFF32_LIBS,
6381 #define _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS
6382 _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
6383 #define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
6384 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
6385 #define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
6386 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
6387 #define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
6388 _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
6389 #define _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS
6390 _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
6391 #define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
6392 _CS_POSIX_V6_LP64_OFF64_CFLAGS,
6393 #define _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS
6394 _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
6395 #define _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS
6396 _CS_POSIX_V6_LP64_OFF64_LIBS,
6397 #define _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS
6398 _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
6399 #define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
6400 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
6401 #define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
6402 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
6403 #define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
6404 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
6405 #define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
6406 _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
6407 #define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
6409 # 555 "/usr/include/unistd.h" 2 3 4
6412 extern long int pathconf (__const char *__path, int __name)
6413 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6416 extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__));
6419 extern long int sysconf (int __name) __attribute__ ((__nothrow__));
6423 extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__));
6428 extern __pid_t getpid (void) __attribute__ ((__nothrow__));
6431 extern __pid_t getppid (void) __attribute__ ((__nothrow__));
6436 extern __pid_t getpgrp (void) __attribute__ ((__nothrow__));
6437 # 591 "/usr/include/unistd.h" 3 4
6438 extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__));
6439 # 600 "/usr/include/unistd.h" 3 4
6440 extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__));
6441 # 617 "/usr/include/unistd.h" 3 4
6442 extern int setpgrp (void) __attribute__ ((__nothrow__));
6443 # 634 "/usr/include/unistd.h" 3 4
6444 extern __pid_t setsid (void) __attribute__ ((__nothrow__));
6452 extern __uid_t getuid (void) __attribute__ ((__nothrow__));
6455 extern __uid_t geteuid (void) __attribute__ ((__nothrow__));
6458 extern __gid_t getgid (void) __attribute__ ((__nothrow__));
6461 extern __gid_t getegid (void) __attribute__ ((__nothrow__));
6466 extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__)) ;
6467 # 667 "/usr/include/unistd.h" 3 4
6468 extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__));
6473 extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__));
6478 extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__));
6485 extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__));
6490 extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__));
6495 extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__));
6496 # 723 "/usr/include/unistd.h" 3 4
6497 extern __pid_t fork (void) __attribute__ ((__nothrow__));
6504 extern __pid_t vfork (void) __attribute__ ((__nothrow__));
6510 extern char *ttyname (int __fd) __attribute__ ((__nothrow__));
6514 extern int ttyname_r (int __fd, char *__buf, size_t __buflen)
6515 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ;
6519 extern int isatty (int __fd) __attribute__ ((__nothrow__));
6525 extern int ttyslot (void) __attribute__ ((__nothrow__));
6530 extern int link (__const char *__from, __const char *__to)
6531 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ;
6532 # 769 "/usr/include/unistd.h" 3 4
6533 extern int symlink (__const char *__from, __const char *__to)
6534 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ;
6539 extern ssize_t readlink (__const char *__restrict __path,
6540 char *__restrict __buf, size_t __len)
6541 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ;
6542 # 792 "/usr/include/unistd.h" 3 4
6543 extern int unlink (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6544 # 801 "/usr/include/unistd.h" 3 4
6545 extern int rmdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6549 extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__));
6552 extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__));
6559 extern char *getlogin (void);
6567 extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1)));
6572 extern int setlogin (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6580 #define __need_getopt
6581 # 845 "/usr/include/unistd.h" 3 4
6582 extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6589 extern int sethostname (__const char *__name, size_t __len)
6590 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
6594 extern int sethostid (long int __id) __attribute__ ((__nothrow__)) ;
6600 extern int getdomainname (char *__name, size_t __len)
6601 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
6602 extern int setdomainname (__const char *__name, size_t __len)
6603 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
6609 extern int vhangup (void) __attribute__ ((__nothrow__));
6612 extern int revoke (__const char *__file) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
6620 extern int profil (unsigned short int *__sample_buffer, size_t __size,
6621 size_t __offset, unsigned int __scale)
6622 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6628 extern int acct (__const char *__name) __attribute__ ((__nothrow__));
6632 extern char *getusershell (void) __attribute__ ((__nothrow__));
6633 extern void endusershell (void) __attribute__ ((__nothrow__));
6634 extern void setusershell (void) __attribute__ ((__nothrow__));
6640 extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__)) ;
6647 extern int chroot (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
6651 extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1)));
6652 # 923 "/usr/include/unistd.h" 3 4
6653 extern int fsync (int __fd);
6660 extern long int gethostid (void);
6663 extern void sync (void) __attribute__ ((__nothrow__));
6668 extern int getpagesize (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
6673 extern int getdtablesize (void) __attribute__ ((__nothrow__));
6678 extern int truncate (__const char *__file, __off_t __length)
6679 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
6680 # 970 "/usr/include/unistd.h" 3 4
6681 extern int ftruncate (int __fd, __off_t __length) __attribute__ ((__nothrow__)) ;
6682 # 990 "/usr/include/unistd.h" 3 4
6683 extern int brk (void *__addr) __attribute__ ((__nothrow__)) ;
6689 extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__));
6690 # 1011 "/usr/include/unistd.h" 3 4
6691 extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__));
6692 # 1065 "/usr/include/unistd.h" 3 4
6693 extern int fdatasync (int __fildes);
6694 # 1103 "/usr/include/unistd.h" 3 4
6698 # 1 "/usr/include/errno.h" 1 3 4
6699 # 28 "/usr/include/errno.h" 3 4
6708 # 1 "/usr/include/bits/errno.h" 1 3 4
6709 # 22 "/usr/include/bits/errno.h" 3 4
6713 # 1 "/usr/include/linux/errno.h" 1 3 4
6715 #define _LINUX_ERRNO_H
6717 # 1 "/usr/include/asm/errno.h" 1 3 4
6719 #define _I386_ERRNO_H
6721 # 1 "/usr/include/asm-generic/errno.h" 1 3 4
6723 #define _ASM_GENERIC_ERRNO_H
6725 # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4
6727 #define _ASM_GENERIC_ERRNO_BASE_H
6763 # 5 "/usr/include/asm-generic/errno.h" 2 3 4
6766 #define ENAMETOOLONG 36
6769 #define ENOTEMPTY 39
6771 #define EWOULDBLOCK EAGAIN
6789 #define EDEADLOCK EDEADLK
6804 #define EMULTIHOP 72
6807 #define EOVERFLOW 75
6821 #define EDESTADDRREQ 89
6823 #define EPROTOTYPE 91
6824 #define ENOPROTOOPT 92
6825 #define EPROTONOSUPPORT 93
6826 #define ESOCKTNOSUPPORT 94
6827 #define EOPNOTSUPP 95
6828 #define EPFNOSUPPORT 96
6829 #define EAFNOSUPPORT 97
6830 #define EADDRINUSE 98
6831 #define EADDRNOTAVAIL 99
6832 #define ENETDOWN 100
6833 #define ENETUNREACH 101
6834 #define ENETRESET 102
6835 #define ECONNABORTED 103
6836 #define ECONNRESET 104
6839 #define ENOTCONN 107
6840 #define ESHUTDOWN 108
6841 #define ETOOMANYREFS 109
6842 #define ETIMEDOUT 110
6843 #define ECONNREFUSED 111
6844 #define EHOSTDOWN 112
6845 #define EHOSTUNREACH 113
6846 #define EALREADY 114
6847 #define EINPROGRESS 115
6853 #define EREMOTEIO 121
6856 #define ENOMEDIUM 123
6857 #define EMEDIUMTYPE 124
6858 #define ECANCELED 125
6860 #define EKEYEXPIRED 127
6861 #define EKEYREVOKED 128
6862 #define EKEYREJECTED 129
6865 #define EOWNERDEAD 130
6866 #define ENOTRECOVERABLE 131
6867 # 5 "/usr/include/asm/errno.h" 2 3 4
6868 # 5 "/usr/include/linux/errno.h" 2 3 4
6869 # 26 "/usr/include/bits/errno.h" 2 3 4
6872 #define ENOTSUP EOPNOTSUPP
6873 # 43 "/usr/include/bits/errno.h" 3 4
6874 extern int *__errno_location (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
6878 #define errno (*__errno_location ())
6879 # 37 "/usr/include/errno.h" 2 3 4
6881 # 59 "/usr/include/errno.h" 3 4
6886 # 1 "/usr/include/mntent.h" 1 3 4
6887 # 21 "/usr/include/mntent.h" 3 4
6893 # 1 "/usr/include/paths.h" 1 3 4
6894 # 33 "/usr/include/paths.h" 3 4
6898 #define _PATH_DEFPATH "/usr/bin:/bin"
6900 #define _PATH_STDPATH "/usr/bin:/bin:/usr/sbin:/sbin"
6903 #define _PATH_BSHELL "/bin/sh"
6904 #define _PATH_CONSOLE "/dev/console"
6905 #define _PATH_CSHELL "/bin/csh"
6906 #define _PATH_DEVDB "/var/run/dev.db"
6907 #define _PATH_DEVNULL "/dev/null"
6908 #define _PATH_DRUM "/dev/drum"
6909 #define _PATH_KLOG "/proc/kmsg"
6910 #define _PATH_KMEM "/dev/kmem"
6911 #define _PATH_LASTLOG "/var/log/lastlog"
6912 #define _PATH_MAILDIR "/var/mail"
6913 #define _PATH_MAN "/usr/share/man"
6914 #define _PATH_MEM "/dev/mem"
6915 #define _PATH_MNTTAB "/etc/fstab"
6916 #define _PATH_MOUNTED "/etc/mtab"
6917 #define _PATH_NOLOGIN "/etc/nologin"
6918 #define _PATH_PRESERVE "/var/lib"
6919 #define _PATH_RWHODIR "/var/spool/rwho"
6920 #define _PATH_SENDMAIL "/usr/sbin/sendmail"
6921 #define _PATH_SHADOW "/etc/shadow"
6922 #define _PATH_SHELLS "/etc/shells"
6923 #define _PATH_TTY "/dev/tty"
6924 #define _PATH_UNIX "/boot/vmlinux"
6925 #define _PATH_UTMP "/var/run/utmp"
6926 #define _PATH_VI "/usr/bin/vi"
6927 #define _PATH_WTMP "/var/log/wtmp"
6930 #define _PATH_DEV "/dev/"
6931 #define _PATH_TMP "/tmp/"
6932 #define _PATH_VARDB "/var/db/"
6933 #define _PATH_VARRUN "/var/run/"
6934 #define _PATH_VARTMP "/var/tmp/"
6935 # 27 "/usr/include/mntent.h" 2 3 4
6939 #define MNTTAB _PATH_MNTTAB
6942 #define MOUNTED _PATH_MOUNTED
6946 #define MNTTYPE_IGNORE "ignore"
6947 #define MNTTYPE_NFS "nfs"
6948 #define MNTTYPE_SWAP "swap"
6952 #define MNTOPT_DEFAULTS "defaults"
6953 #define MNTOPT_RO "ro"
6954 #define MNTOPT_RW "rw"
6955 #define MNTOPT_SUID "suid"
6956 #define MNTOPT_NOSUID "nosuid"
6957 #define MNTOPT_NOAUTO "noauto"
6976 extern FILE *setmntent (__const char *__file, __const char *__mode) __attribute__ ((__nothrow__));
6981 extern struct mntent *getmntent (FILE *__stream) __attribute__ ((__nothrow__));
6985 extern struct mntent *getmntent_r (FILE *__restrict __stream,
6986 struct mntent *__restrict __result,
6987 char *__restrict __buffer,
6988 int __bufsize) __attribute__ ((__nothrow__));
6993 extern int addmntent (FILE *__restrict __stream,
6994 __const struct mntent *__restrict __mnt) __attribute__ ((__nothrow__));
6997 extern int endmntent (FILE *__stream) __attribute__ ((__nothrow__));
7001 extern char *hasmntopt (__const struct mntent *__mnt,
7002 __const char *__opt) __attribute__ ((__nothrow__));
7009 # 1 "/usr/include/sys/ioctl.h" 1 3 4
7010 # 20 "/usr/include/sys/ioctl.h" 3 4
7011 #define _SYS_IOCTL_H 1
7018 # 1 "/usr/include/bits/ioctls.h" 1 3 4
7019 # 24 "/usr/include/bits/ioctls.h" 3 4
7020 # 1 "/usr/include/asm/ioctls.h" 1 3 4
7022 #define __ARCH_I386_IOCTLS_H__
7024 # 1 "/usr/include/asm/ioctl.h" 1 3 4
7025 # 1 "/usr/include/asm-generic/ioctl.h" 1 3 4
7027 #define _ASM_GENERIC_IOCTL_H
7028 # 22 "/usr/include/asm-generic/ioctl.h" 3 4
7029 #define _IOC_NRBITS 8
7030 #define _IOC_TYPEBITS 8
7031 #define _IOC_SIZEBITS 14
7032 #define _IOC_DIRBITS 2
7034 #define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
7035 #define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
7036 #define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
7037 #define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
7039 #define _IOC_NRSHIFT 0
7040 #define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
7041 #define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
7042 #define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
7047 #define _IOC_NONE 0U
7048 #define _IOC_WRITE 1U
7049 #define _IOC_READ 2U
7051 #define _IOC(dir,type,nr,size) (((dir) << _IOC_DIRSHIFT) | ((type) << _IOC_TYPESHIFT) | ((nr) << _IOC_NRSHIFT) | ((size) << _IOC_SIZESHIFT))
7058 extern unsigned int __invalid_size_argument_for_IOC;
7059 #define _IOC_TYPECHECK(t) ((sizeof(t) == sizeof(t[1]) && sizeof(t) < (1 << _IOC_SIZEBITS)) ? sizeof(t) : __invalid_size_argument_for_IOC)
7065 #define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
7066 #define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(size)))
7067 #define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
7068 #define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
7069 #define _IOR_BAD(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
7070 #define _IOW_BAD(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
7071 #define _IOWR_BAD(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
7074 #define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
7075 #define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
7076 #define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
7077 #define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
7081 #define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
7082 #define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
7083 #define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
7084 #define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
7085 #define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
7086 # 1 "/usr/include/asm/ioctl.h" 2 3 4
7087 # 5 "/usr/include/asm/ioctls.h" 2 3 4
7091 #define TCGETS 0x5401
7092 #define TCSETS 0x5402
7093 #define TCSETSW 0x5403
7094 #define TCSETSF 0x5404
7095 #define TCGETA 0x5405
7096 #define TCSETA 0x5406
7097 #define TCSETAW 0x5407
7098 #define TCSETAF 0x5408
7099 #define TCSBRK 0x5409
7100 #define TCXONC 0x540A
7101 #define TCFLSH 0x540B
7102 #define TIOCEXCL 0x540C
7103 #define TIOCNXCL 0x540D
7104 #define TIOCSCTTY 0x540E
7105 #define TIOCGPGRP 0x540F
7106 #define TIOCSPGRP 0x5410
7107 #define TIOCOUTQ 0x5411
7108 #define TIOCSTI 0x5412
7109 #define TIOCGWINSZ 0x5413
7110 #define TIOCSWINSZ 0x5414
7111 #define TIOCMGET 0x5415
7112 #define TIOCMBIS 0x5416
7113 #define TIOCMBIC 0x5417
7114 #define TIOCMSET 0x5418
7115 #define TIOCGSOFTCAR 0x5419
7116 #define TIOCSSOFTCAR 0x541A
7117 #define FIONREAD 0x541B
7118 #define TIOCINQ FIONREAD
7119 #define TIOCLINUX 0x541C
7120 #define TIOCCONS 0x541D
7121 #define TIOCGSERIAL 0x541E
7122 #define TIOCSSERIAL 0x541F
7123 #define TIOCPKT 0x5420
7124 #define FIONBIO 0x5421
7125 #define TIOCNOTTY 0x5422
7126 #define TIOCSETD 0x5423
7127 #define TIOCGETD 0x5424
7128 #define TCSBRKP 0x5425
7130 #define TIOCSBRK 0x5427
7131 #define TIOCCBRK 0x5428
7132 #define TIOCGSID 0x5429
7133 #define TCGETS2 _IOR('T',0x2A, struct termios2)
7134 #define TCSETS2 _IOW('T',0x2B, struct termios2)
7135 #define TCSETSW2 _IOW('T',0x2C, struct termios2)
7136 #define TCSETSF2 _IOW('T',0x2D, struct termios2)
7137 #define TIOCGPTN _IOR('T',0x30, unsigned int)
7138 #define TIOCSPTLCK _IOW('T',0x31, int)
7140 #define FIONCLEX 0x5450
7141 #define FIOCLEX 0x5451
7142 #define FIOASYNC 0x5452
7143 #define TIOCSERCONFIG 0x5453
7144 #define TIOCSERGWILD 0x5454
7145 #define TIOCSERSWILD 0x5455
7146 #define TIOCGLCKTRMIOS 0x5456
7147 #define TIOCSLCKTRMIOS 0x5457
7148 #define TIOCSERGSTRUCT 0x5458
7149 #define TIOCSERGETLSR 0x5459
7150 #define TIOCSERGETMULTI 0x545A
7151 #define TIOCSERSETMULTI 0x545B
7153 #define TIOCMIWAIT 0x545C
7154 #define TIOCGICOUNT 0x545D
7155 #define TIOCGHAYESESP 0x545E
7156 #define TIOCSHAYESESP 0x545F
7157 #define FIOQSIZE 0x5460
7160 #define TIOCPKT_DATA 0
7161 #define TIOCPKT_FLUSHREAD 1
7162 #define TIOCPKT_FLUSHWRITE 2
7163 #define TIOCPKT_STOP 4
7164 #define TIOCPKT_START 8
7165 #define TIOCPKT_NOSTOP 16
7166 #define TIOCPKT_DOSTOP 32
7168 #define TIOCSER_TEMT 0x01
7169 # 25 "/usr/include/bits/ioctls.h" 2 3 4
7172 #define SIOCADDRT 0x890B
7173 #define SIOCDELRT 0x890C
7174 #define SIOCRTMSG 0x890D
7177 #define SIOCGIFNAME 0x8910
7178 #define SIOCSIFLINK 0x8911
7179 #define SIOCGIFCONF 0x8912
7180 #define SIOCGIFFLAGS 0x8913
7181 #define SIOCSIFFLAGS 0x8914
7182 #define SIOCGIFADDR 0x8915
7183 #define SIOCSIFADDR 0x8916
7184 #define SIOCGIFDSTADDR 0x8917
7185 #define SIOCSIFDSTADDR 0x8918
7186 #define SIOCGIFBRDADDR 0x8919
7187 #define SIOCSIFBRDADDR 0x891a
7188 #define SIOCGIFNETMASK 0x891b
7189 #define SIOCSIFNETMASK 0x891c
7190 #define SIOCGIFMETRIC 0x891d
7191 #define SIOCSIFMETRIC 0x891e
7192 #define SIOCGIFMEM 0x891f
7193 #define SIOCSIFMEM 0x8920
7194 #define SIOCGIFMTU 0x8921
7195 #define SIOCSIFMTU 0x8922
7196 #define SIOCSIFNAME 0x8923
7197 #define SIOCSIFHWADDR 0x8924
7198 #define SIOCGIFENCAP 0x8925
7199 #define SIOCSIFENCAP 0x8926
7200 #define SIOCGIFHWADDR 0x8927
7201 #define SIOCGIFSLAVE 0x8929
7202 #define SIOCSIFSLAVE 0x8930
7203 #define SIOCADDMULTI 0x8931
7204 #define SIOCDELMULTI 0x8932
7205 #define SIOCGIFINDEX 0x8933
7206 #define SIOGIFINDEX SIOCGIFINDEX
7207 #define SIOCSIFPFLAGS 0x8934
7208 #define SIOCGIFPFLAGS 0x8935
7209 #define SIOCDIFADDR 0x8936
7210 #define SIOCSIFHWBROADCAST 0x8937
7211 #define SIOCGIFCOUNT 0x8938
7213 #define SIOCGIFBR 0x8940
7214 #define SIOCSIFBR 0x8941
7216 #define SIOCGIFTXQLEN 0x8942
7217 #define SIOCSIFTXQLEN 0x8943
7222 #define SIOCDARP 0x8953
7223 #define SIOCGARP 0x8954
7224 #define SIOCSARP 0x8955
7227 #define SIOCDRARP 0x8960
7228 #define SIOCGRARP 0x8961
7229 #define SIOCSRARP 0x8962
7233 #define SIOCGIFMAP 0x8970
7234 #define SIOCSIFMAP 0x8971
7238 #define SIOCADDDLCI 0x8980
7239 #define SIOCDELDLCI 0x8981
7240 # 103 "/usr/include/bits/ioctls.h" 3 4
7241 #define SIOCDEVPRIVATE 0x89F0
7247 #define SIOCPROTOPRIVATE 0x89E0
7248 # 28 "/usr/include/sys/ioctl.h" 2 3 4
7251 # 1 "/usr/include/bits/ioctl-types.h" 1 3 4
7252 # 28 "/usr/include/bits/ioctl-types.h" 3 4
7255 unsigned short int ws_row;
7256 unsigned short int ws_col;
7257 unsigned short int ws_xpixel;
7258 unsigned short int ws_ypixel;
7264 unsigned short int c_iflag;
7265 unsigned short int c_oflag;
7266 unsigned short int c_cflag;
7267 unsigned short int c_lflag;
7268 unsigned char c_line;
7269 unsigned char c_cc[8];
7273 #define TIOCM_LE 0x001
7274 #define TIOCM_DTR 0x002
7275 #define TIOCM_RTS 0x004
7276 #define TIOCM_ST 0x008
7277 #define TIOCM_SR 0x010
7278 #define TIOCM_CTS 0x020
7279 #define TIOCM_CAR 0x040
7280 #define TIOCM_RNG 0x080
7281 #define TIOCM_DSR 0x100
7282 #define TIOCM_CD TIOCM_CAR
7283 #define TIOCM_RI TIOCM_RNG
7298 #define N_PROFIBUS_FDL 10
7300 #define N_SMSBLOCK 12
7302 #define N_SYNC_PPP 14
7304 # 31 "/usr/include/sys/ioctl.h" 2 3 4
7311 # 1 "/usr/include/sys/ttydefaults.h" 1 3 4
7312 # 41 "/usr/include/sys/ttydefaults.h" 3 4
7313 #define _SYS_TTYDEFAULTS_H_
7318 #define TTYDEF_IFLAG (BRKINT | ISTRIP | ICRNL | IMAXBEL | IXON | IXANY)
7319 #define TTYDEF_OFLAG (OPOST | ONLCR | XTABS)
7320 #define TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL)
7321 #define TTYDEF_CFLAG (CREAD | CS7 | PARENB | HUPCL)
7322 #define TTYDEF_SPEED (B9600)
7327 #define CTRL(x) (x&037)
7328 #define CEOF CTRL('d')
7330 #define CEOL _POSIX_VDISABLE
7335 #define CINTR CTRL('c')
7337 #define CSTATUS _POSIX_VDISABLE
7341 #define CKILL CTRL('u')
7344 #define CSUSP CTRL('z')
7346 #define CDSUSP CTRL('y')
7347 #define CSTART CTRL('q')
7348 #define CSTOP CTRL('s')
7349 #define CLNEXT CTRL('v')
7350 #define CDISCARD CTRL('o')
7351 #define CWERASE CTRL('w')
7352 #define CREPRINT CTRL('r')
7356 #define CRPRNT CREPRINT
7357 #define CFLUSH CDISCARD
7358 # 38 "/usr/include/sys/ioctl.h" 2 3 4
7363 extern int ioctl (int __fd, unsigned long int __request, ...) __attribute__ ((__nothrow__));
7369 # 1 "/usr/include/malloc.h" 1 3 4
7370 # 21 "/usr/include/malloc.h" 3 4
7374 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
7375 # 43 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
7379 #define _ANSI_STDDEF_H
7381 #define __STDDEF_H__
7382 # 141 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
7388 #define _BSD_PTRDIFF_T_
7389 #define ___int_ptrdiff_t_h
7390 #define _GCC_PTRDIFF_T
7394 typedef int ptrdiff_t;
7395 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
7396 #undef __need_ptrdiff_t
7397 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
7398 #undef __need_size_t
7399 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
7400 #undef __need_wchar_t
7401 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
7407 #define NULL ((void *)0)
7418 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
7419 # 25 "/usr/include/malloc.h" 2 3 4
7420 #define __malloc_ptr_t void *
7423 #define __malloc_size_t size_t
7424 #define __malloc_ptrdiff_t ptrdiff_t
7428 #define __MALLOC_P(args) args __THROW
7431 #define __MALLOC_PMT(args) args
7432 # 46 "/usr/include/malloc.h" 3 4
7436 extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
7439 extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__))
7440 __attribute__ ((__malloc__)) ;
7444 extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__))
7445 __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
7448 extern void free (void *__ptr) __attribute__ ((__nothrow__));
7451 extern void cfree (void *__ptr) __attribute__ ((__nothrow__));
7454 extern void *memalign (size_t __alignment, size_t __size) __attribute__ ((__nothrow__))
7455 __attribute__ ((__malloc__)) ;
7458 extern void *valloc (size_t __size) __attribute__ ((__nothrow__))
7459 __attribute__ ((__malloc__)) ;
7463 extern void * pvalloc (size_t __size) __attribute__ ((__nothrow__))
7464 __attribute__ ((__malloc__)) ;
7468 extern void *(*__morecore) (ptrdiff_t __size);
7471 extern void *__default_morecore (ptrdiff_t __size) __attribute__ ((__nothrow__))
7472 __attribute__ ((__malloc__));
7490 extern struct mallinfo mallinfo (void) __attribute__ ((__nothrow__));
7507 #define M_TRIM_THRESHOLD -1
7508 #define M_TOP_PAD -2
7509 #define M_MMAP_THRESHOLD -3
7510 #define M_MMAP_MAX -4
7511 #define M_CHECK_ACTION -5
7512 #define M_PERTURB -6
7515 extern int mallopt (int __param, int __val) __attribute__ ((__nothrow__));
7519 extern int malloc_trim (size_t __pad) __attribute__ ((__nothrow__));
7523 extern size_t malloc_usable_size (void *__ptr) __attribute__ ((__nothrow__));
7526 extern void malloc_stats (void) __attribute__ ((__nothrow__));
7529 extern void *malloc_get_state (void) __attribute__ ((__nothrow__));
7533 extern int malloc_set_state (void *__ptr) __attribute__ ((__nothrow__));
7538 extern void (*__malloc_initialize_hook) (void);
7540 extern void (*__free_hook) (void *__ptr, __const void *);
7542 extern void *(*__malloc_hook) (size_t __size, __const void *);
7544 extern void *(*__realloc_hook) (void *__ptr, size_t __size, __const void *);
7546 extern void *(*__memalign_hook) (size_t __alignment, size_t __size, __const void *);
7549 extern void (*__after_morecore_hook) (void);
7552 extern void __malloc_check_init (void) __attribute__ ((__nothrow__));
7562 # 1 "/usr/include/dirent.h" 1 3 4
7563 # 24 "/usr/include/dirent.h" 3 4
7569 # 62 "/usr/include/dirent.h" 3 4
7570 # 1 "/usr/include/bits/dirent.h" 1 3 4
7571 # 23 "/usr/include/bits/dirent.h" 3 4
7581 unsigned short int d_reclen;
7582 unsigned char d_type;
7585 # 48 "/usr/include/bits/dirent.h" 3 4
7586 #define d_fileno d_ino
7588 #undef _DIRENT_HAVE_D_NAMLEN
7589 #define _DIRENT_HAVE_D_RECLEN
7590 #define _DIRENT_HAVE_D_OFF
7591 #define _DIRENT_HAVE_D_TYPE
7592 # 63 "/usr/include/dirent.h" 2 3 4
7593 # 86 "/usr/include/dirent.h" 3 4
7594 #define _D_EXACT_NAMLEN(d) (strlen ((d)->d_name))
7596 #define _D_ALLOC_NAMLEN(d) (((char *) (d) + (d)->d_reclen) - &(d)->d_name[0])
7597 # 98 "/usr/include/dirent.h" 3 4
7601 #define DT_UNKNOWN DT_UNKNOWN
7603 #define DT_FIFO DT_FIFO
7605 #define DT_CHR DT_CHR
7607 #define DT_DIR DT_DIR
7609 #define DT_BLK DT_BLK
7611 #define DT_REG DT_REG
7613 #define DT_LNK DT_LNK
7615 #define DT_SOCK DT_SOCK
7617 #define DT_WHT DT_WHT
7621 #define IFTODT(mode) (((mode) & 0170000) >> 12)
7622 #define DTTOIF(dirtype) ((dirtype) << 12)
7628 typedef struct __dirstream DIR;
7635 extern DIR *opendir (__const char *__name) __attribute__ ((__nonnull__ (1)));
7636 # 150 "/usr/include/dirent.h" 3 4
7637 extern int closedir (DIR *__dirp) __attribute__ ((__nonnull__ (1)));
7638 # 163 "/usr/include/dirent.h" 3 4
7639 extern struct dirent *readdir (DIR *__dirp) __attribute__ ((__nonnull__ (1)));
7640 # 184 "/usr/include/dirent.h" 3 4
7641 extern int readdir_r (DIR *__restrict __dirp,
7642 struct dirent *__restrict __entry,
7643 struct dirent **__restrict __result)
7644 __attribute__ ((__nonnull__ (1, 2, 3)));
7645 # 209 "/usr/include/dirent.h" 3 4
7646 extern void rewinddir (DIR *__dirp) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
7652 extern void seekdir (DIR *__dirp, long int __pos) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
7655 extern long int telldir (DIR *__dirp) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
7661 extern int dirfd (DIR *__dirp) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
7669 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4
7670 # 26 "/usr/include/bits/posix1_lim.h" 3 4
7671 #define _BITS_POSIX1_LIM_H 1
7677 #define _POSIX_AIO_LISTIO_MAX 2
7680 #define _POSIX_AIO_MAX 1
7683 #define _POSIX_ARG_MAX 4096
7687 #define _POSIX_CHILD_MAX 25
7693 #define _POSIX_DELAYTIMER_MAX 32
7697 #define _POSIX_HOST_NAME_MAX 255
7700 #define _POSIX_LINK_MAX 8
7703 #define _POSIX_LOGIN_NAME_MAX 9
7706 #define _POSIX_MAX_CANON 255
7710 #define _POSIX_MAX_INPUT 255
7713 #define _POSIX_MQ_OPEN_MAX 8
7716 #define _POSIX_MQ_PRIO_MAX 32
7719 #define _POSIX_NAME_MAX 14
7723 #define _POSIX_NGROUPS_MAX 8
7730 #define _POSIX_OPEN_MAX 20
7737 #define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX
7740 #define _POSIX_PATH_MAX 256
7743 #define _POSIX_PIPE_BUF 512
7747 #define _POSIX_RE_DUP_MAX 255
7750 #define _POSIX_RTSIG_MAX 8
7753 #define _POSIX_SEM_NSEMS_MAX 256
7756 #define _POSIX_SEM_VALUE_MAX 32767
7759 #define _POSIX_SIGQUEUE_MAX 32
7762 #define _POSIX_SSIZE_MAX 32767
7765 #define _POSIX_STREAM_MAX 8
7768 #define _POSIX_SYMLINK_MAX 255
7772 #define _POSIX_SYMLOOP_MAX 8
7775 #define _POSIX_TIMER_MAX 32
7778 #define _POSIX_TTY_NAME_MAX 9
7781 #define _POSIX_TZNAME_MAX 6
7784 #define _POSIX_QLIMIT 1
7788 #define _POSIX_HIWAT _POSIX_PIPE_BUF
7791 #define _POSIX_UIO_MAXIOV 16
7794 #define _POSIX_CLOCKRES_MIN 20000000
7798 # 1 "/usr/include/bits/local_lim.h" 1 3 4
7799 # 26 "/usr/include/bits/local_lim.h" 3 4
7800 #define __undef_NR_OPEN
7803 #define __undef_LINK_MAX
7806 #define __undef_OPEN_MAX
7810 # 1 "/usr/include/linux/limits.h" 1 3 4
7812 #define _LINUX_LIMITS_H
7814 #define NR_OPEN 1024
7816 #define NGROUPS_MAX 65536
7817 #define ARG_MAX 131072
7818 #define LINK_MAX 127
7819 #define MAX_CANON 255
7820 #define MAX_INPUT 255
7821 #define NAME_MAX 255
7822 #define PATH_MAX 4096
7823 #define PIPE_BUF 4096
7824 #define XATTR_NAME_MAX 255
7825 #define XATTR_SIZE_MAX 65536
7826 #define XATTR_LIST_MAX 65536
7828 #define RTSIG_MAX 32
7829 # 37 "/usr/include/bits/local_lim.h" 2 3 4
7834 #undef __undef_NR_OPEN
7839 #undef __undef_LINK_MAX
7844 #undef __undef_OPEN_MAX
7848 #define _POSIX_THREAD_KEYS_MAX 128
7850 #define PTHREAD_KEYS_MAX 1024
7853 #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
7855 #define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
7858 #define _POSIX_THREAD_THREADS_MAX 64
7860 #undef PTHREAD_THREADS_MAX
7864 #define AIO_PRIO_DELTA_MAX 20
7867 #define PTHREAD_STACK_MIN 16384
7870 #define DELAYTIMER_MAX 2147483647
7873 #define TTY_NAME_MAX 32
7876 #define LOGIN_NAME_MAX 256
7879 #define HOST_NAME_MAX 64
7882 #define MQ_PRIO_MAX 32768
7885 #define SEM_VALUE_MAX (2147483647)
7886 # 154 "/usr/include/bits/posix1_lim.h" 2 3 4
7890 #define SSIZE_MAX LONG_MAX
7891 # 233 "/usr/include/dirent.h" 2 3 4
7895 #define MAXNAMLEN NAME_MAX
7901 #define __need_size_t
7902 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
7903 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
7904 #undef __need_ptrdiff_t
7905 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
7906 #undef __need_size_t
7907 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
7908 #undef __need_wchar_t
7909 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
7915 #define NULL ((void *)0)
7926 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
7927 # 244 "/usr/include/dirent.h" 2 3 4
7934 extern int scandir (__const char *__restrict __dir,
7935 struct dirent ***__restrict __namelist,
7936 int (*__selector) (__const struct dirent *),
7937 int (*__cmp) (__const void *, __const void *))
7938 __attribute__ ((__nonnull__ (1, 2)));
7939 # 280 "/usr/include/dirent.h" 3 4
7940 extern int alphasort (__const void *__e1, __const void *__e2)
7941 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
7942 # 324 "/usr/include/dirent.h" 3 4
7943 extern __ssize_t getdirentries (int __fd, char *__restrict __buf,
7945 __off_t *__restrict __basep)
7946 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
7947 # 349 "/usr/include/dirent.h" 3 4
7952 # 1 "../lib/et/com_err.h" 1
7953 # 14 "../lib/et/com_err.h"
7954 #define COM_ERR_ATTR(x) __attribute__(x)
7959 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stdarg.h" 1 3 4
7960 # 34 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stdarg.h" 3 4
7962 #define _ANSI_STDARG_H_
7964 #undef __need___va_list
7965 # 50 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stdarg.h" 3 4
7966 #define va_start(v,l) __builtin_va_start(v,l)
7967 #define va_end(v) __builtin_va_end(v)
7968 #define va_arg(v,l) __builtin_va_arg(v,l)
7970 #define va_copy(d,s) __builtin_va_copy(d,s)
7972 #define __va_copy(d,s) __builtin_va_copy(d,s)
7973 # 105 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stdarg.h" 3 4
7974 typedef __gnuc_va_list va_list;
7986 #define _VA_LIST_DEFINED
7989 #define _VA_LIST_T_H
7993 # 20 "../lib/et/com_err.h" 2
7995 typedef long errcode_t;
7997 struct error_table {
7998 char const * const * msgs;
8004 extern void com_err (const char *, long, const char *, ...)
8005 __attribute__((format(printf, 3, 4)));
8007 extern void com_err_va (const char *whoami, errcode_t code, const char *fmt,
8009 __attribute__((format(printf, 3, 0)));
8011 extern char const *error_message (long);
8012 extern void (*com_err_hook) (const char *, long, const char *, va_list);
8013 extern void (*set_com_err_hook (void (*) (const char *, long,
8014 const char *, va_list)))
8015 (const char *, long, const char *, va_list);
8016 extern void (*reset_com_err_hook (void)) (const char *, long,
8017 const char *, va_list);
8018 extern int init_error_table(const char * const *msgs, long base, int count);
8020 extern errcode_t add_error_table(const struct error_table * et);
8021 extern errcode_t remove_error_table(const struct error_table * et);
8022 extern void add_to_error_table(struct et_list *new_table);
8025 extern const char *com_right(struct et_list *list, long code);
8026 extern void initialize_error_table_r(struct et_list **list,
8027 const char **messages,
8030 extern void free_error_table(struct et_list *et);
8033 #define __COM_ERR_H__
8039 # 1 "/usr/include/sys/time.h" 1 3 4
8040 # 21 "/usr/include/sys/time.h" 3 4
8041 #define _SYS_TIME_H 1
8046 #define __need_time_t
8048 #define __need_timeval
8049 # 1 "/usr/include/bits/time.h" 1 3 4
8050 # 62 "/usr/include/bits/time.h" 3 4
8051 #undef __need_timeval
8052 # 30 "/usr/include/sys/time.h" 2 3 4
8053 # 39 "/usr/include/sys/time.h" 3 4
8055 # 57 "/usr/include/sys/time.h" 3 4
8062 typedef struct timezone *__restrict __timezone_ptr_t;
8063 # 73 "/usr/include/sys/time.h" 3 4
8064 extern int gettimeofday (struct timeval *__restrict __tv,
8065 __timezone_ptr_t __tz) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8070 extern int settimeofday (__const struct timeval *__tv,
8071 __const struct timezone *__tz)
8072 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8078 extern int adjtime (__const struct timeval *__delta,
8079 struct timeval *__olddelta) __attribute__ ((__nothrow__));
8088 #define ITIMER_REAL ITIMER_REAL
8091 #define ITIMER_VIRTUAL ITIMER_VIRTUAL
8095 #define ITIMER_PROF ITIMER_PROF
8103 struct timeval it_interval;
8105 struct timeval it_value;
8113 typedef int __itimer_which_t;
8118 extern int getitimer (__itimer_which_t __which,
8119 struct itimerval *__value) __attribute__ ((__nothrow__));
8124 extern int setitimer (__itimer_which_t __which,
8125 __const struct itimerval *__restrict __new,
8126 struct itimerval *__restrict __old) __attribute__ ((__nothrow__));
8131 extern int utimes (__const char *__file, __const struct timeval __tvp[2])
8132 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8136 extern int lutimes (__const char *__file, __const struct timeval __tvp[2])
8137 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8140 extern int futimes (int __fd, __const struct timeval __tvp[2]) __attribute__ ((__nothrow__));
8141 # 164 "/usr/include/sys/time.h" 3 4
8142 #define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
8143 #define timerclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0)
8144 #define timercmp(a,b,CMP) (((a)->tv_sec == (b)->tv_sec) ? ((a)->tv_usec CMP (b)->tv_usec) : ((a)->tv_sec CMP (b)->tv_sec))
8148 #define timeradd(a,b,result) do { (result)->tv_sec = (a)->tv_sec + (b)->tv_sec; (result)->tv_usec = (a)->tv_usec + (b)->tv_usec; if ((result)->tv_usec >= 1000000) { ++(result)->tv_sec; (result)->tv_usec -= 1000000; } } while (0)
8149 # 180 "/usr/include/sys/time.h" 3 4
8150 #define timersub(a,b,result) do { (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; if ((result)->tv_usec < 0) { --(result)->tv_sec; (result)->tv_usec += 1000000; } } while (0)
8151 # 191 "/usr/include/sys/time.h" 3 4
8156 # 1 "/usr/include/setjmp.h" 1 3 4
8157 # 24 "/usr/include/setjmp.h" 3 4
8164 # 1 "/usr/include/bits/setjmp.h" 1 3 4
8165 # 22 "/usr/include/bits/setjmp.h" 3 4
8166 #define _BITS_SETJMP_H 1
8173 typedef int __jmp_buf[6];
8174 # 31 "/usr/include/setjmp.h" 2 3 4
8175 # 1 "/usr/include/bits/sigset.h" 1 3 4
8176 # 32 "/usr/include/setjmp.h" 2 3 4
8180 struct __jmp_buf_tag
8187 int __mask_was_saved;
8188 __sigset_t __saved_mask;
8194 typedef struct __jmp_buf_tag jmp_buf[1];
8198 extern int setjmp (jmp_buf __env) __attribute__ ((__nothrow__));
8205 extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __attribute__ ((__nothrow__));
8210 extern int _setjmp (struct __jmp_buf_tag __env[1]) __attribute__ ((__nothrow__));
8214 #define setjmp(env) _setjmp (env)
8215 # 78 "/usr/include/setjmp.h" 3 4
8220 extern void longjmp (struct __jmp_buf_tag __env[1], int __val)
8221 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
8229 extern void _longjmp (struct __jmp_buf_tag __env[1], int __val)
8230 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
8238 typedef struct __jmp_buf_tag sigjmp_buf[1];
8242 #define sigsetjmp(env,savemask) __sigsetjmp (env, savemask)
8248 extern void siglongjmp (sigjmp_buf __env, int __val)
8249 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
8261 # 1 "../lib/ext2fs/ext2_fs.h" 1
8262 # 17 "../lib/ext2fs/ext2_fs.h"
8263 #define _LINUX_EXT2_FS_H
8265 # 1 "../lib/ext2fs/ext2_types.h" 1
8273 #define _EXT2_TYPES_H
8275 #define __S8_TYPEDEF __signed__ char
8276 #define __U8_TYPEDEF unsigned char
8277 #define __S16_TYPEDEF __signed__ short
8278 #define __U16_TYPEDEF unsigned short
8279 #define __S32_TYPEDEF __signed__ int
8280 #define __U32_TYPEDEF unsigned int
8281 #define __S64_TYPEDEF __signed__ long long
8282 #define __U64_TYPEDEF unsigned long long
8285 typedef unsigned char __u8;
8291 typedef __signed__ char __s8;
8297 typedef unsigned short __u16;
8298 # 46 "../lib/ext2fs/ext2_types.h"
8299 typedef __signed__ short __s16;
8300 # 61 "../lib/ext2fs/ext2_types.h"
8301 typedef unsigned int __u32;
8302 # 79 "../lib/ext2fs/ext2_types.h"
8303 typedef __signed__ int __s32;
8304 # 97 "../lib/ext2fs/ext2_types.h"
8305 typedef unsigned long long __u64;
8306 # 113 "../lib/ext2fs/ext2_types.h"
8307 typedef __signed__ long long __s64;
8308 # 132 "../lib/ext2fs/ext2_types.h"
8311 #undef __S16_TYPEDEF
8312 #undef __U16_TYPEDEF
8313 #undef __S32_TYPEDEF
8314 #undef __U32_TYPEDEF
8315 #undef __S64_TYPEDEF
8316 #undef __U64_TYPEDEF
8317 # 20 "../lib/ext2fs/ext2_fs.h" 2
8318 # 28 "../lib/ext2fs/ext2_fs.h"
8324 #define EXT2_PREALLOCATE
8325 #define EXT2_DEFAULT_PREALLOC_BLOCKS 8
8330 #define EXT2FS_DATE "95/08/09"
8331 #define EXT2FS_VERSION "0.5b"
8336 #define EXT2_BAD_INO 1
8337 #define EXT2_ROOT_INO 2
8338 #define EXT2_ACL_IDX_INO 3
8339 #define EXT2_ACL_DATA_INO 4
8340 #define EXT2_BOOT_LOADER_INO 5
8341 #define EXT2_UNDEL_DIR_INO 6
8342 #define EXT2_RESIZE_INO 7
8343 #define EXT2_JOURNAL_INO 8
8346 #define EXT2_GOOD_OLD_FIRST_INO 11
8351 #define EXT2_SUPER_MAGIC 0xEF53
8359 #define EXT2_SB(sb) (sb)
8365 #define EXT2_LINK_MAX 65000
8370 #define EXT2_MIN_BLOCK_LOG_SIZE 10
8371 #define EXT2_MAX_BLOCK_LOG_SIZE 16
8372 #define EXT2_MIN_BLOCK_SIZE (1 << EXT2_MIN_BLOCK_LOG_SIZE)
8373 #define EXT2_MAX_BLOCK_SIZE (1 << EXT2_MAX_BLOCK_LOG_SIZE)
8381 #define EXT2_BLOCK_SIZE(s) (EXT2_MIN_BLOCK_SIZE << (s)->s_log_block_size)
8382 #define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10)
8383 #define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? EXT2_GOOD_OLD_INODE_SIZE : (s)->s_inode_size)
8385 #define EXT2_FIRST_INO(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? EXT2_GOOD_OLD_FIRST_INO : (s)->s_first_ino)
8388 #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof(__u32))
8393 #define EXT2_MIN_FRAG_SIZE EXT2_MIN_BLOCK_SIZE
8394 #define EXT2_MAX_FRAG_SIZE EXT2_MAX_BLOCK_SIZE
8395 #define EXT2_MIN_FRAG_LOG_SIZE EXT2_MIN_BLOCK_LOG_SIZE
8400 #define EXT2_FRAG_SIZE(s) (EXT2_MIN_FRAG_SIZE << (s)->s_log_frag_size)
8401 #define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s))
8407 struct ext2_acl_header
8410 __u32 aclh_file_count;
8411 __u32 aclh_acle_count;
8412 __u32 aclh_first_acle;
8415 struct ext2_acl_entry
8429 struct ext2_group_desc
8431 __u32 bg_block_bitmap;
8432 __u32 bg_inode_bitmap;
8433 __u32 bg_inode_table;
8434 __u16 bg_free_blocks_count;
8435 __u16 bg_free_inodes_count;
8436 __u16 bg_used_dirs_count;
8438 __u32 bg_reserved[2];
8439 __u16 bg_itable_unused;
8443 struct ext4_group_desc
8445 __u32 bg_block_bitmap;
8446 __u32 bg_inode_bitmap;
8447 __u32 bg_inode_table;
8448 __u16 bg_free_blocks_count;
8449 __u16 bg_free_inodes_count;
8450 __u16 bg_used_dirs_count;
8452 __u32 bg_reserved[2];
8453 __u16 bg_itable_unused;
8455 __u32 bg_block_bitmap_hi;
8456 __u32 bg_inode_bitmap_hi;
8457 __u32 bg_inode_table_hi;
8458 __u16 bg_free_blocks_count_hi;
8459 __u16 bg_free_inodes_count_hi;
8460 __u16 bg_used_dirs_count_hi;
8462 __u32 bg_reserved2[3];
8465 #define EXT2_BG_INODE_UNINIT 0x0001
8466 #define EXT2_BG_BLOCK_UNINIT 0x0002
8467 # 189 "../lib/ext2fs/ext2_fs.h"
8468 struct ext2_dx_root_info {
8469 __u32 reserved_zero;
8472 __u8 indirect_levels;
8476 #define EXT2_HASH_LEGACY 0
8477 #define EXT2_HASH_HALF_MD4 1
8478 #define EXT2_HASH_TEA 2
8479 #define EXT2_HASH_LEGACY_UNSIGNED 3
8480 #define EXT2_HASH_HALF_MD4_UNSIGNED 4
8481 #define EXT2_HASH_TEA_UNSIGNED 5
8483 #define EXT2_HASH_FLAG_INCOMPAT 0x1
8485 struct ext2_dx_entry {
8490 struct ext2_dx_countlimit {
8499 #define EXT2_BLOCKS_PER_GROUP(s) (EXT2_SB(s)->s_blocks_per_group)
8500 #define EXT2_INODES_PER_GROUP(s) (EXT2_SB(s)->s_inodes_per_group)
8501 #define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s))
8503 #define EXT2_MAX_BLOCKS_PER_GROUP(s) ((1 << 16) - 8)
8504 #define EXT2_MAX_INODES_PER_GROUP(s) ((1 << 16) - EXT2_INODES_PER_BLOCK(s))
8509 #define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc))
8515 #define EXT2_NDIR_BLOCKS 12
8516 #define EXT2_IND_BLOCK EXT2_NDIR_BLOCKS
8517 #define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1)
8518 #define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1)
8519 #define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1)
8524 #define EXT2_SECRM_FL 0x00000001
8525 #define EXT2_UNRM_FL 0x00000002
8526 #define EXT2_COMPR_FL 0x00000004
8527 #define EXT2_SYNC_FL 0x00000008
8528 #define EXT2_IMMUTABLE_FL 0x00000010
8529 #define EXT2_APPEND_FL 0x00000020
8530 #define EXT2_NODUMP_FL 0x00000040
8531 #define EXT2_NOATIME_FL 0x00000080
8533 #define EXT2_DIRTY_FL 0x00000100
8534 #define EXT2_COMPRBLK_FL 0x00000200
8535 #define EXT2_NOCOMPR_FL 0x00000400
8536 #define EXT2_ECOMPR_FL 0x00000800
8538 #define EXT2_BTREE_FL 0x00001000
8539 #define EXT2_INDEX_FL 0x00001000
8540 #define EXT2_IMAGIC_FL 0x00002000
8541 #define EXT3_JOURNAL_DATA_FL 0x00004000
8542 #define EXT2_NOTAIL_FL 0x00008000
8543 #define EXT2_DIRSYNC_FL 0x00010000
8544 #define EXT2_TOPDIR_FL 0x00020000
8545 #define EXT4_EXTENTS_FL 0x00080000
8546 #define EXT2_RESERVED_FL 0x80000000
8548 #define EXT2_FL_USER_VISIBLE 0x000BDFFF
8549 #define EXT2_FL_USER_MODIFIABLE 0x000080FF
8556 struct ext2_new_group_input {
8562 __u16 reserved_blocks;
8570 #define EXT2_IOC_GETFLAGS _IOR('f', 1, long)
8571 #define EXT2_IOC_SETFLAGS _IOW('f', 2, long)
8572 #define EXT2_IOC_GETVERSION _IOR('v', 1, long)
8573 #define EXT2_IOC_SETVERSION _IOW('v', 2, long)
8574 #define EXT2_IOC_GETVERSION_NEW _IOR('f', 3, long)
8575 #define EXT2_IOC_SETVERSION_NEW _IOW('f', 4, long)
8576 #define EXT2_IOC_GROUP_EXTEND _IOW('f', 7, unsigned long)
8577 #define EXT2_IOC_GROUP_ADD _IOW('f', 8,struct ext2_new_group_input)
8591 __u16 i_links_count;
8599 __u32 h_i_translator;
8602 __u32 m_i_reserved1;
8605 __u32 i_block[(((12 + 1) + 1) + 1)];
8612 __u16 l_i_blocks_hi;
8616 __u32 l_i_reserved2;
8621 __u16 h_i_mode_high;
8630 __u32 m_i_reserved2[2];
8638 struct ext2_inode_large {
8647 __u16 i_links_count;
8655 __u32 h_i_translator;
8658 __u32 m_i_reserved1;
8661 __u32 i_block[(((12 + 1) + 1) + 1)];
8668 __u16 l_i_blocks_hi;
8672 __u32 l_i_reserved2;
8677 __u16 h_i_mode_high;
8686 __u32 m_i_reserved2[2];
8689 __u16 i_extra_isize;
8691 __u32 i_ctime_extra;
8692 __u32 i_mtime_extra;
8693 __u32 i_atime_extra;
8695 __u32 i_crtime_extra;
8698 #define i_size_high i_dir_acl
8701 #define i_reserved1 osd1.linux1.l_i_reserved1
8702 #define i_frag osd2.linux2.l_i_frag
8703 #define i_fsize osd2.linux2.l_i_fsize
8704 #define i_uid_low i_uid
8705 #define i_gid_low i_gid
8706 #define i_uid_high osd2.linux2.l_i_uid_high
8707 #define i_gid_high osd2.linux2.l_i_gid_high
8708 #define i_reserved2 osd2.linux2.l_i_reserved2
8709 # 456 "../lib/ext2fs/ext2_fs.h"
8710 #define inode_uid(inode) ((inode).i_uid | (inode).i_uid_high << 16)
8711 #define inode_gid(inode) ((inode).i_gid | (inode).i_gid_high << 16)
8717 #define EXT2_VALID_FS 0x0001
8718 #define EXT2_ERROR_FS 0x0002
8723 #define EXT2_FLAGS_SIGNED_HASH 0x0001
8724 #define EXT2_FLAGS_UNSIGNED_HASH 0x0002
8729 #define EXT2_MOUNT_CHECK 0x0001
8730 #define EXT2_MOUNT_GRPID 0x0004
8731 #define EXT2_MOUNT_DEBUG 0x0008
8732 #define EXT2_MOUNT_ERRORS_CONT 0x0010
8733 #define EXT2_MOUNT_ERRORS_RO 0x0020
8734 #define EXT2_MOUNT_ERRORS_PANIC 0x0040
8735 #define EXT2_MOUNT_MINIX_DF 0x0080
8736 #define EXT2_MOUNT_NO_UID32 0x0200
8738 #define clear_opt(o,opt) o &= ~EXT2_MOUNT_ ##opt
8739 #define set_opt(o,opt) o |= EXT2_MOUNT_ ##opt
8740 #define test_opt(sb,opt) (EXT2_SB(sb)->s_mount_opt & EXT2_MOUNT_ ##opt)
8745 #define EXT2_DFL_MAX_MNT_COUNT 20
8746 #define EXT2_DFL_CHECKINTERVAL 0
8751 #define EXT2_ERRORS_CONTINUE 1
8752 #define EXT2_ERRORS_RO 2
8753 #define EXT2_ERRORS_PANIC 3
8754 #define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE
8759 struct ext2_super_block {
8760 __u32 s_inodes_count;
8761 __u32 s_blocks_count;
8762 __u32 s_r_blocks_count;
8763 __u32 s_free_blocks_count;
8764 __u32 s_free_inodes_count;
8765 __u32 s_first_data_block;
8766 __u32 s_log_block_size;
8767 __s32 s_log_frag_size;
8768 __u32 s_blocks_per_group;
8769 __u32 s_frags_per_group;
8770 __u32 s_inodes_per_group;
8774 __s16 s_max_mnt_count;
8778 __u16 s_minor_rev_level;
8780 __u32 s_checkinterval;
8785 # 544 "../lib/ext2fs/ext2_fs.h"
8788 __u16 s_block_group_nr;
8789 __u32 s_feature_compat;
8790 __u32 s_feature_incompat;
8791 __u32 s_feature_ro_compat;
8793 char s_volume_name[16];
8794 char s_last_mounted[64];
8795 __u32 s_algorithm_usage_bitmap;
8800 __u8 s_prealloc_blocks;
8801 __u8 s_prealloc_dir_blocks;
8802 __u16 s_reserved_gdt_blocks;
8806 __u8 s_journal_uuid[16];
8807 __u32 s_journal_inum;
8808 __u32 s_journal_dev;
8809 __u32 s_last_orphan;
8810 __u32 s_hash_seed[4];
8811 __u8 s_def_hash_version;
8812 __u8 s_jnl_backup_type;
8814 __u32 s_default_mount_opts;
8815 __u32 s_first_meta_bg;
8817 __u32 s_jnl_blocks[17];
8818 __u32 s_blocks_count_hi;
8819 __u32 s_r_blocks_count_hi;
8820 __u32 s_free_blocks_hi;
8821 __u16 s_min_extra_isize;
8822 __u16 s_want_extra_isize;
8824 __u16 s_raid_stride;
8825 __u16 s_mmp_interval;
8827 __u32 s_raid_stripe_width;
8828 __u32 s_reserved[163];
8834 #define EXT2_OS_LINUX 0
8835 #define EXT2_OS_HURD 1
8836 #define EXT2_OS_MASIX 2
8837 #define EXT2_OS_FREEBSD 3
8838 #define EXT2_OS_LITES 4
8843 #define EXT2_GOOD_OLD_REV 0
8844 #define EXT2_DYNAMIC_REV 1
8846 #define EXT2_CURRENT_REV EXT2_GOOD_OLD_REV
8847 #define EXT2_MAX_SUPP_REV EXT2_DYNAMIC_REV
8849 #define EXT2_GOOD_OLD_INODE_SIZE 128
8854 #define EXT3_JNL_BACKUP_BLOCKS 1
8860 #define EXT2_HAS_COMPAT_FEATURE(sb,mask) ( EXT2_SB(sb)->s_feature_compat & (mask) )
8862 #define EXT2_HAS_RO_COMPAT_FEATURE(sb,mask) ( EXT2_SB(sb)->s_feature_ro_compat & (mask) )
8864 #define EXT2_HAS_INCOMPAT_FEATURE(sb,mask) ( EXT2_SB(sb)->s_feature_incompat & (mask) )
8867 #define EXT2_FEATURE_COMPAT_DIR_PREALLOC 0x0001
8868 #define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002
8869 #define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004
8870 #define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008
8871 #define EXT2_FEATURE_COMPAT_RESIZE_INODE 0x0010
8872 #define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020
8873 #define EXT2_FEATURE_COMPAT_LAZY_BG 0x0040
8875 #define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
8876 #define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002
8878 #define EXT4_FEATURE_RO_COMPAT_HUGE_FILE 0x0008
8879 #define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0010
8880 #define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020
8881 #define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE 0x0040
8883 #define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001
8884 #define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002
8885 #define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004
8886 #define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008
8887 #define EXT2_FEATURE_INCOMPAT_META_BG 0x0010
8888 #define EXT3_FEATURE_INCOMPAT_EXTENTS 0x0040
8889 #define EXT4_FEATURE_INCOMPAT_64BIT 0x0080
8890 #define EXT4_FEATURE_INCOMPAT_MMP 0x0100
8893 #define EXT2_FEATURE_COMPAT_SUPP 0
8894 #define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE)
8895 #define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| EXT2_FEATURE_RO_COMPAT_LARGE_FILE| EXT2_FEATURE_RO_COMPAT_BTREE_DIR)
8902 #define EXT2_DEF_RESUID 0
8903 #define EXT2_DEF_RESGID 0
8908 #define EXT2_DEFM_DEBUG 0x0001
8909 #define EXT2_DEFM_BSDGROUPS 0x0002
8910 #define EXT2_DEFM_XATTR_USER 0x0004
8911 #define EXT2_DEFM_ACL 0x0008
8912 #define EXT2_DEFM_UID16 0x0010
8913 #define EXT3_DEFM_JMODE 0x0060
8914 #define EXT3_DEFM_JMODE_DATA 0x0020
8915 #define EXT3_DEFM_JMODE_ORDERED 0x0040
8916 #define EXT3_DEFM_JMODE_WBACK 0x0060
8921 #define EXT2_NAME_LEN 255
8923 struct ext2_dir_entry {
8936 struct ext2_dir_entry_2 {
8948 #define EXT2_FT_UNKNOWN 0
8949 #define EXT2_FT_REG_FILE 1
8950 #define EXT2_FT_DIR 2
8951 #define EXT2_FT_CHRDEV 3
8952 #define EXT2_FT_BLKDEV 4
8953 #define EXT2_FT_FIFO 5
8954 #define EXT2_FT_SOCK 6
8955 #define EXT2_FT_SYMLINK 7
8957 #define EXT2_FT_MAX 8
8964 #define EXT2_DIR_PAD 4
8965 #define EXT2_DIR_ROUND (EXT2_DIR_PAD - 1)
8966 #define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) & ~EXT2_DIR_ROUND)
8974 #define EXT2_MMP_MAGIC 0x004D4D50
8975 #define EXT2_MMP_CLEAN 0xFF4D4D50
8976 #define EXT2_MMP_FSCK_ON 0xE24D4D50
8982 char mmp_nodename[64];
8983 char mmp_bdevname[32];
8992 #define EXT2_MMP_DEF_INTERVAL 5
8994 # 1 "../lib/ext2fs/ext2fs.h" 1
8995 # 13 "../lib/ext2fs/ext2fs.h"
8996 #define _EXT2FS_EXT2FS_H
8999 #define EXT2FS_ATTR(x) __attribute__(x)
9000 # 38 "../lib/ext2fs/ext2fs.h"
9001 #define EXT2FS_ENABLE_SWAPFS
9002 # 48 "../lib/ext2fs/ext2fs.h"
9003 #define SUPERBLOCK_OFFSET 1024
9004 #define SUPERBLOCK_SIZE 1024
9010 #define EXT2_LIB_CURRENT_REV EXT2_DYNAMIC_REV
9011 # 70 "../lib/ext2fs/ext2fs.h"
9012 # 1 "../lib/ext2fs/ext2_types.h" 1
9013 # 71 "../lib/ext2fs/ext2fs.h" 2
9014 # 1 "../lib/ext2fs/ext2_fs.h" 1
9015 # 72 "../lib/ext2fs/ext2fs.h" 2
9016 # 1 "../lib/ext2fs/ext3_extents.h" 1
9017 # 20 "../lib/ext2fs/ext3_extents.h"
9018 #define _LINUX_EXT3_EXTENTS
9026 #define AGRESSIVE_TEST_
9032 #define CHECK_BINSEARCH_
9033 # 48 "../lib/ext2fs/ext3_extents.h"
9034 #define ext_debug(tree,fmt,a...)
9044 #define EXT3_ALLOC_NEEDED 3
9045 # 71 "../lib/ext2fs/ext3_extents.h"
9046 struct ext3_extent {
9057 struct ext3_extent_idx {
9068 struct ext3_extent_header {
9073 __u32 eh_generation;
9076 #define EXT3_EXT_MAGIC 0xf30a
9083 struct ext3_ext_path {
9086 struct ext3_extent *p_ext;
9087 struct ext3_extent_idx *p_idx;
9088 struct ext3_extent_header *p_hdr;
9089 struct buffer_head *p_bh;
9096 #define EXT_CONTINUE 0
9098 #define EXT_REPEAT 2
9101 #define EXT_MAX_BLOCK 0xffffffff
9102 #define EXT_CACHE_MARK 0xffff
9105 #define EXT_FIRST_EXTENT(__hdr__) ((struct ext3_extent *) (((char *) (__hdr__)) + sizeof(struct ext3_extent_header)))
9108 #define EXT_FIRST_INDEX(__hdr__) ((struct ext3_extent_idx *) (((char *) (__hdr__)) + sizeof(struct ext3_extent_header)))
9111 #define EXT_HAS_FREE_INDEX(__path__) ((__path__)->p_hdr->eh_entries < (__path__)->p_hdr->eh_max)
9113 #define EXT_LAST_EXTENT(__hdr__) (EXT_FIRST_EXTENT((__hdr__)) + (__hdr__)->eh_entries - 1)
9115 #define EXT_LAST_INDEX(__hdr__) (EXT_FIRST_INDEX((__hdr__)) + (__hdr__)->eh_entries - 1)
9117 #define EXT_MAX_EXTENT(__hdr__) (EXT_FIRST_EXTENT((__hdr__)) + (__hdr__)->eh_max - 1)
9119 #define EXT_MAX_INDEX(__hdr__) (EXT_FIRST_INDEX((__hdr__)) + (__hdr__)->eh_max - 1)
9122 #define EXT_ROOT_HDR(tree) ((struct ext3_extent_header *) (tree)->root)
9124 #define EXT_BLOCK_HDR(bh) ((struct ext3_extent_header *) (bh)->b_data)
9126 #define EXT_DEPTH(_t_) (((struct ext3_extent_header *)((_t_)->root))->eh_depth)
9128 #define EXT_GENERATION(_t_) (((struct ext3_extent_header *)((_t_)->root))->eh_generation)
9132 #define EXT_ASSERT(__x__) if (!(__x__)) BUG();
9138 struct ext3_extent_buf {
9139 unsigned long start;
9149 struct ext3_extent_tree_stats {
9154 # 73 "../lib/ext2fs/ext2fs.h" 2
9157 typedef __u32 ext2_ino_t;
9158 typedef __u32 blk_t;
9159 typedef __u32 dgrp_t;
9160 typedef __u32 ext2_off_t;
9161 typedef __s64 e2_blkcnt_t;
9162 typedef __u32 ext2_dirhash_t;
9169 # 1 "../lib/et/com_err.h" 1
9170 # 88 "../lib/ext2fs/ext2fs.h" 2
9171 # 1 "../lib/ext2fs/ext2_io.h" 1
9172 # 13 "../lib/ext2fs/ext2_io.h"
9173 #define _EXT2FS_EXT2_IO_H
9179 typedef long long ext2_loff_t;
9185 ext2_loff_t ext2fs_llseek (int, ext2_loff_t, int);
9187 typedef struct struct_io_manager *io_manager;
9188 typedef struct struct_io_channel *io_channel;
9190 #define CHANNEL_FLAGS_WRITETHROUGH 0x01
9192 struct struct_io_channel {
9197 errcode_t (*read_error)(io_channel channel,
9198 unsigned long block,
9202 int actual_bytes_read,
9204 errcode_t (*write_error)(io_channel channel,
9205 unsigned long block,
9209 int actual_bytes_written,
9218 struct struct_io_manager {
9221 errcode_t (*open)(const char *name, int flags, io_channel *channel);
9222 errcode_t (*close)(io_channel channel);
9223 errcode_t (*set_blksize)(io_channel channel, int blksize);
9224 errcode_t (*read_blk)(io_channel channel, unsigned long block,
9225 int count, void *data);
9226 errcode_t (*write_blk)(io_channel channel, unsigned long block,
9227 int count, const void *data);
9228 errcode_t (*flush)(io_channel channel);
9229 errcode_t (*write_byte)(io_channel channel, unsigned long offset,
9230 int count, const void *data);
9231 errcode_t (*set_option)(io_channel channel, const char *option,
9236 #define IO_FLAG_RW 0x0001
9237 #define IO_FLAG_EXCLUSIVE 0x0002
9242 #define io_channel_close(c) ((c)->manager->close((c)))
9243 #define io_channel_set_blksize(c,s) ((c)->manager->set_blksize((c),s))
9244 #define io_channel_read_blk(c,b,n,d) ((c)->manager->read_blk((c),b,n,d))
9245 #define io_channel_write_blk(c,b,n,d) ((c)->manager->write_blk((c),b,n,d))
9246 #define io_channel_flush(c) ((c)->manager->flush((c)))
9247 #define io_channel_bumpcount(c) ((c)->refcount++)
9250 extern errcode_t io_channel_set_options(io_channel channel,
9251 const char *options);
9252 extern errcode_t io_channel_write_byte(io_channel channel,
9253 unsigned long offset,
9254 int count, const void *data);
9257 extern io_manager unix_io_manager;
9260 extern io_manager test_io_manager, test_io_backing_manager;
9261 extern void (*test_io_cb_read_blk)
9262 (unsigned long block, int count, errcode_t err);
9263 extern void (*test_io_cb_write_blk)
9264 (unsigned long block, int count, errcode_t err);
9265 extern void (*test_io_cb_set_blksize)
9266 (int blksize, errcode_t err);
9267 # 89 "../lib/ext2fs/ext2fs.h" 2
9268 # 1 "../lib/ext2fs/ext2_err.h" 1
9273 #define EXT2_ET_BASE (2133571328L)
9274 #define EXT2_ET_MAGIC_EXT2FS_FILSYS (2133571329L)
9275 #define EXT2_ET_MAGIC_BADBLOCKS_LIST (2133571330L)
9276 #define EXT2_ET_MAGIC_BADBLOCKS_ITERATE (2133571331L)
9277 #define EXT2_ET_MAGIC_INODE_SCAN (2133571332L)
9278 #define EXT2_ET_MAGIC_IO_CHANNEL (2133571333L)
9279 #define EXT2_ET_MAGIC_UNIX_IO_CHANNEL (2133571334L)
9280 #define EXT2_ET_MAGIC_IO_MANAGER (2133571335L)
9281 #define EXT2_ET_MAGIC_BLOCK_BITMAP (2133571336L)
9282 #define EXT2_ET_MAGIC_INODE_BITMAP (2133571337L)
9283 #define EXT2_ET_MAGIC_GENERIC_BITMAP (2133571338L)
9284 #define EXT2_ET_MAGIC_TEST_IO_CHANNEL (2133571339L)
9285 #define EXT2_ET_MAGIC_DBLIST (2133571340L)
9286 #define EXT2_ET_MAGIC_ICOUNT (2133571341L)
9287 #define EXT2_ET_MAGIC_PQ_IO_CHANNEL (2133571342L)
9288 #define EXT2_ET_MAGIC_EXT2_FILE (2133571343L)
9289 #define EXT2_ET_MAGIC_E2IMAGE (2133571344L)
9290 #define EXT2_ET_MAGIC_INODE_IO_CHANNEL (2133571345L)
9291 #define EXT2_ET_MAGIC_RESERVED_9 (2133571346L)
9292 #define EXT2_ET_BAD_MAGIC (2133571347L)
9293 #define EXT2_ET_REV_TOO_HIGH (2133571348L)
9294 #define EXT2_ET_RO_FILSYS (2133571349L)
9295 #define EXT2_ET_GDESC_READ (2133571350L)
9296 #define EXT2_ET_GDESC_WRITE (2133571351L)
9297 #define EXT2_ET_GDESC_BAD_BLOCK_MAP (2133571352L)
9298 #define EXT2_ET_GDESC_BAD_INODE_MAP (2133571353L)
9299 #define EXT2_ET_GDESC_BAD_INODE_TABLE (2133571354L)
9300 #define EXT2_ET_INODE_BITMAP_WRITE (2133571355L)
9301 #define EXT2_ET_INODE_BITMAP_READ (2133571356L)
9302 #define EXT2_ET_BLOCK_BITMAP_WRITE (2133571357L)
9303 #define EXT2_ET_BLOCK_BITMAP_READ (2133571358L)
9304 #define EXT2_ET_INODE_TABLE_WRITE (2133571359L)
9305 #define EXT2_ET_INODE_TABLE_READ (2133571360L)
9306 #define EXT2_ET_NEXT_INODE_READ (2133571361L)
9307 #define EXT2_ET_UNEXPECTED_BLOCK_SIZE (2133571362L)
9308 #define EXT2_ET_DIR_CORRUPTED (2133571363L)
9309 #define EXT2_ET_SHORT_READ (2133571364L)
9310 #define EXT2_ET_SHORT_WRITE (2133571365L)
9311 #define EXT2_ET_DIR_NO_SPACE (2133571366L)
9312 #define EXT2_ET_NO_INODE_BITMAP (2133571367L)
9313 #define EXT2_ET_NO_BLOCK_BITMAP (2133571368L)
9314 #define EXT2_ET_BAD_INODE_NUM (2133571369L)
9315 #define EXT2_ET_BAD_BLOCK_NUM (2133571370L)
9316 #define EXT2_ET_EXPAND_DIR_ERR (2133571371L)
9317 #define EXT2_ET_TOOSMALL (2133571372L)
9318 #define EXT2_ET_BAD_BLOCK_MARK (2133571373L)
9319 #define EXT2_ET_BAD_BLOCK_UNMARK (2133571374L)
9320 #define EXT2_ET_BAD_BLOCK_TEST (2133571375L)
9321 #define EXT2_ET_BAD_INODE_MARK (2133571376L)
9322 #define EXT2_ET_BAD_INODE_UNMARK (2133571377L)
9323 #define EXT2_ET_BAD_INODE_TEST (2133571378L)
9324 #define EXT2_ET_FUDGE_BLOCK_BITMAP_END (2133571379L)
9325 #define EXT2_ET_FUDGE_INODE_BITMAP_END (2133571380L)
9326 #define EXT2_ET_BAD_IND_BLOCK (2133571381L)
9327 #define EXT2_ET_BAD_DIND_BLOCK (2133571382L)
9328 #define EXT2_ET_BAD_TIND_BLOCK (2133571383L)
9329 #define EXT2_ET_NEQ_BLOCK_BITMAP (2133571384L)
9330 #define EXT2_ET_NEQ_INODE_BITMAP (2133571385L)
9331 #define EXT2_ET_BAD_DEVICE_NAME (2133571386L)
9332 #define EXT2_ET_MISSING_INODE_TABLE (2133571387L)
9333 #define EXT2_ET_CORRUPT_SUPERBLOCK (2133571388L)
9334 #define EXT2_ET_BAD_GENERIC_MARK (2133571389L)
9335 #define EXT2_ET_BAD_GENERIC_UNMARK (2133571390L)
9336 #define EXT2_ET_BAD_GENERIC_TEST (2133571391L)
9337 #define EXT2_ET_SYMLINK_LOOP (2133571392L)
9338 #define EXT2_ET_CALLBACK_NOTHANDLED (2133571393L)
9339 #define EXT2_ET_BAD_BLOCK_IN_INODE_TABLE (2133571394L)
9340 #define EXT2_ET_UNSUPP_FEATURE (2133571395L)
9341 #define EXT2_ET_RO_UNSUPP_FEATURE (2133571396L)
9342 #define EXT2_ET_LLSEEK_FAILED (2133571397L)
9343 #define EXT2_ET_NO_MEMORY (2133571398L)
9344 #define EXT2_ET_INVALID_ARGUMENT (2133571399L)
9345 #define EXT2_ET_BLOCK_ALLOC_FAIL (2133571400L)
9346 #define EXT2_ET_INODE_ALLOC_FAIL (2133571401L)
9347 #define EXT2_ET_NO_DIRECTORY (2133571402L)
9348 #define EXT2_ET_TOO_MANY_REFS (2133571403L)
9349 #define EXT2_ET_FILE_NOT_FOUND (2133571404L)
9350 #define EXT2_ET_FILE_RO (2133571405L)
9351 #define EXT2_ET_DB_NOT_FOUND (2133571406L)
9352 #define EXT2_ET_DIR_EXISTS (2133571407L)
9353 #define EXT2_ET_UNIMPLEMENTED (2133571408L)
9354 #define EXT2_ET_CANCEL_REQUESTED (2133571409L)
9355 #define EXT2_ET_FILE_TOO_BIG (2133571410L)
9356 #define EXT2_ET_JOURNAL_NOT_BLOCK (2133571411L)
9357 #define EXT2_ET_NO_JOURNAL_SB (2133571412L)
9358 #define EXT2_ET_JOURNAL_TOO_SMALL (2133571413L)
9359 #define EXT2_ET_JOURNAL_UNSUPP_VERSION (2133571414L)
9360 #define EXT2_ET_LOAD_EXT_JOURNAL (2133571415L)
9361 #define EXT2_ET_NO_JOURNAL (2133571416L)
9362 #define EXT2_ET_DIRHASH_UNSUPP (2133571417L)
9363 #define EXT2_ET_BAD_EA_BLOCK_NUM (2133571418L)
9364 #define EXT2_ET_TOO_MANY_INODES (2133571419L)
9365 #define EXT2_ET_NOT_IMAGE_FILE (2133571420L)
9366 #define EXT2_ET_RES_GDT_BLOCKS (2133571421L)
9367 #define EXT2_ET_RESIZE_INODE_CORRUPT (2133571422L)
9368 #define EXT2_ET_SET_BMAP_NO_IND (2133571423L)
9369 #define EXT2_ET_TDB_SUCCESS (2133571424L)
9370 #define EXT2_ET_TDB_ERR_CORRUPT (2133571425L)
9371 #define EXT2_ET_TDB_ERR_IO (2133571426L)
9372 #define EXT2_ET_TDB_ERR_LOCK (2133571427L)
9373 #define EXT2_ET_TDB_ERR_OOM (2133571428L)
9374 #define EXT2_ET_TDB_ERR_EXISTS (2133571429L)
9375 #define EXT2_ET_TDB_ERR_NOLOCK (2133571430L)
9376 #define EXT2_ET_TDB_ERR_EINVAL (2133571431L)
9377 #define EXT2_ET_TDB_ERR_NOEXIST (2133571432L)
9378 #define EXT2_ET_TDB_ERR_RDONLY (2133571433L)
9379 extern void initialize_ext2_error_table(void);
9380 #define ERROR_TABLE_BASE_ext2 (2133571328L)
9383 #define init_ext2_err_tbl initialize_ext2_error_table
9384 #define ext2_err_base ERROR_TABLE_BASE_ext2
9387 #define ERROR_TABLE_BASE_ext2 (2133571328L)
9388 #define init_ext2_err_tbl initialize_ext2_error_table
9389 #define initialize_ext2_error_table initialize_ext2_error_table
9390 #define ext2_err_base ERROR_TABLE_BASE_ext2
9391 # 90 "../lib/ext2fs/ext2fs.h" 2
9392 # 98 "../lib/ext2fs/ext2fs.h"
9393 #define EXT2_QSORT_TYPE int
9396 typedef struct struct_ext2_filsys *ext2_filsys;
9398 struct ext2fs_struct_generic_bitmap {
9405 errcode_t base_error_code;
9409 #define EXT2FS_MARK_ERROR 0
9410 #define EXT2FS_UNMARK_ERROR 1
9411 #define EXT2FS_TEST_ERROR 2
9413 typedef struct ext2fs_struct_generic_bitmap *ext2fs_generic_bitmap;
9414 typedef struct ext2fs_struct_generic_bitmap *ext2fs_inode_bitmap;
9415 typedef struct ext2fs_struct_generic_bitmap *ext2fs_block_bitmap;
9417 #define EXT2_FIRST_INODE(s) EXT2_FIRST_INO(s)
9424 typedef struct ext2_struct_u32_list *ext2_badblocks_list;
9425 typedef struct ext2_struct_u32_iterate *ext2_badblocks_iterate;
9427 typedef struct ext2_struct_u32_list *ext2_u32_list;
9428 typedef struct ext2_struct_u32_iterate *ext2_u32_iterate;
9431 typedef struct ext2_struct_u32_list *badblocks_list;
9432 typedef struct ext2_struct_u32_iterate *badblocks_iterate;
9434 #define BADBLOCKS_FLAG_DIRTY 1
9439 struct ext2_db_entry {
9445 typedef struct ext2_struct_dblist *ext2_dblist;
9447 #define DBLIST_ABORT 1
9453 #define EXT2_FILE_WRITE 0x0001
9454 #define EXT2_FILE_CREATE 0x0002
9456 #define EXT2_FILE_MASK 0x00FF
9458 #define EXT2_FILE_BUF_DIRTY 0x4000
9459 #define EXT2_FILE_BUF_VALID 0x2000
9461 typedef struct ext2_file *ext2_file_t;
9463 #define EXT2_SEEK_SET 0
9464 #define EXT2_SEEK_CUR 1
9465 #define EXT2_SEEK_END 2
9470 #define EXT2_FLAG_RW 0x01
9471 #define EXT2_FLAG_CHANGED 0x02
9472 #define EXT2_FLAG_DIRTY 0x04
9473 #define EXT2_FLAG_VALID 0x08
9474 #define EXT2_FLAG_IB_DIRTY 0x10
9475 #define EXT2_FLAG_BB_DIRTY 0x20
9476 #define EXT2_FLAG_SWAP_BYTES 0x40
9477 #define EXT2_FLAG_SWAP_BYTES_READ 0x80
9478 #define EXT2_FLAG_SWAP_BYTES_WRITE 0x100
9479 #define EXT2_FLAG_MASTER_SB_ONLY 0x200
9480 #define EXT2_FLAG_FORCE 0x400
9481 #define EXT2_FLAG_SUPER_ONLY 0x800
9482 #define EXT2_FLAG_JOURNAL_DEV_OK 0x1000
9483 #define EXT2_FLAG_IMAGE_FILE 0x2000
9484 #define EXT2_FLAG_EXCLUSIVE 0x4000
9485 #define EXT2_FLAG_SOFTSUPP_FEATURES 0x8000
9491 #define EXT2_NEW_INODE_FL 0x80000000
9498 #define EXT2_MKJOURNAL_V1_SUPER 0x0000001
9500 struct struct_ext2_filsys {
9505 struct ext2_super_block * super;
9506 unsigned int blocksize;
9508 dgrp_t group_desc_count;
9509 unsigned long desc_blocks;
9510 struct ext2_group_desc * group_desc;
9511 int inode_blocks_per_group;
9512 ext2fs_inode_bitmap inode_map;
9513 ext2fs_block_bitmap block_map;
9514 errcode_t (*get_blocks)(ext2_filsys fs, ext2_ino_t ino, blk_t *blocks);
9515 errcode_t (*check_directory)(ext2_filsys fs, ext2_ino_t ino);
9516 errcode_t (*write_bitmaps)(ext2_filsys fs);
9517 errcode_t (*read_inode)(ext2_filsys fs, ext2_ino_t ino,
9518 struct ext2_inode *inode);
9519 errcode_t (*write_inode)(ext2_filsys fs, ext2_ino_t ino,
9520 struct ext2_inode *inode);
9521 ext2_badblocks_list badblocks;
9524 struct ext2_super_block * orig_super;
9525 struct ext2_image_hdr * image_header;
9541 struct ext2_inode_cache *icache;
9542 io_channel image_io;
9548 # 1 "../lib/ext2fs/bitops.h" 1
9549 # 17 "../lib/ext2fs/bitops.h"
9550 extern int ext2fs_set_bit(unsigned int nr,void * addr);
9551 extern int ext2fs_clear_bit(unsigned int nr, void * addr);
9552 extern int ext2fs_test_bit(unsigned int nr, const void * addr);
9553 extern void ext2fs_fast_set_bit(unsigned int nr,void * addr);
9554 extern void ext2fs_fast_clear_bit(unsigned int nr, void * addr);
9555 extern __u16 ext2fs_swab16(__u16 val);
9556 extern __u32 ext2fs_swab32(__u32 val);
9557 extern __u64 ext2fs_swab64(__u64 val);
9558 # 38 "../lib/ext2fs/bitops.h"
9559 #define ext2fs_cpu_to_le64(x) ((__u64)(x))
9560 #define ext2fs_le64_to_cpu(x) ((__u64)(x))
9561 #define ext2fs_cpu_to_le32(x) ((__u32)(x))
9562 #define ext2fs_le32_to_cpu(x) ((__u32)(x))
9563 #define ext2fs_cpu_to_le16(x) ((__u16)(x))
9564 #define ext2fs_le16_to_cpu(x) ((__u16)(x))
9565 #define ext2fs_cpu_to_be32(x) ext2fs_swab32((x))
9566 #define ext2fs_be32_to_cpu(x) ext2fs_swab32((x))
9567 #define ext2fs_cpu_to_be16(x) ext2fs_swab16((x))
9568 #define ext2fs_be16_to_cpu(x) ext2fs_swab16((x))
9576 extern const char *ext2fs_block_string;
9577 extern const char *ext2fs_inode_string;
9578 extern const char *ext2fs_mark_string;
9579 extern const char *ext2fs_unmark_string;
9580 extern const char *ext2fs_test_string;
9581 extern void ext2fs_warn_bitmap(errcode_t errcode, unsigned long arg,
9582 const char *description);
9583 extern void ext2fs_warn_bitmap2(ext2fs_generic_bitmap bitmap,
9584 int code, unsigned long arg);
9586 extern int ext2fs_mark_block_bitmap(ext2fs_block_bitmap bitmap, blk_t block);
9587 extern int ext2fs_unmark_block_bitmap(ext2fs_block_bitmap bitmap,
9589 extern int ext2fs_test_block_bitmap(ext2fs_block_bitmap bitmap, blk_t block);
9591 extern int ext2fs_mark_inode_bitmap(ext2fs_inode_bitmap bitmap, ext2_ino_t inode);
9592 extern int ext2fs_unmark_inode_bitmap(ext2fs_inode_bitmap bitmap,
9594 extern int ext2fs_test_inode_bitmap(ext2fs_inode_bitmap bitmap, ext2_ino_t inode);
9596 extern void ext2fs_fast_mark_block_bitmap(ext2fs_block_bitmap bitmap,
9598 extern void ext2fs_fast_unmark_block_bitmap(ext2fs_block_bitmap bitmap,
9600 extern int ext2fs_fast_test_block_bitmap(ext2fs_block_bitmap bitmap,
9603 extern void ext2fs_fast_mark_inode_bitmap(ext2fs_inode_bitmap bitmap,
9605 extern void ext2fs_fast_unmark_inode_bitmap(ext2fs_inode_bitmap bitmap,
9607 extern int ext2fs_fast_test_inode_bitmap(ext2fs_inode_bitmap bitmap,
9609 extern blk_t ext2fs_get_block_bitmap_start(ext2fs_block_bitmap bitmap);
9610 extern ext2_ino_t ext2fs_get_inode_bitmap_start(ext2fs_inode_bitmap bitmap);
9611 extern blk_t ext2fs_get_block_bitmap_end(ext2fs_block_bitmap bitmap);
9612 extern ext2_ino_t ext2fs_get_inode_bitmap_end(ext2fs_inode_bitmap bitmap);
9614 extern void ext2fs_mark_block_bitmap_range(ext2fs_block_bitmap bitmap,
9615 blk_t block, int num);
9616 extern void ext2fs_unmark_block_bitmap_range(ext2fs_block_bitmap bitmap,
9617 blk_t block, int num);
9618 extern int ext2fs_test_block_bitmap_range(ext2fs_block_bitmap bitmap,
9619 blk_t block, int num);
9620 extern void ext2fs_fast_mark_block_bitmap_range(ext2fs_block_bitmap bitmap,
9621 blk_t block, int num);
9622 extern void ext2fs_fast_unmark_block_bitmap_range(ext2fs_block_bitmap bitmap,
9623 blk_t block, int num);
9624 extern int ext2fs_fast_test_block_bitmap_range(ext2fs_block_bitmap bitmap,
9625 blk_t block, int num);
9626 extern void ext2fs_set_bitmap_padding(ext2fs_generic_bitmap map);
9629 extern int ext2fs_mark_generic_bitmap(ext2fs_generic_bitmap bitmap,
9631 extern int ext2fs_unmark_generic_bitmap(ext2fs_generic_bitmap bitmap,
9633 # 133 "../lib/ext2fs/bitops.h"
9634 #define _INLINE_ extern __inline__
9635 # 144 "../lib/ext2fs/bitops.h"
9636 extern __inline__ void ext2fs_fast_set_bit(unsigned int nr,void * addr)
9638 unsigned char *ADDR = (unsigned char *) addr;
9641 *ADDR |= (1 << (nr & 0x07));
9644 extern __inline__ void ext2fs_fast_clear_bit(unsigned int nr, void * addr)
9646 unsigned char *ADDR = (unsigned char *) addr;
9649 *ADDR &= ~(1 << (nr & 0x07));
9656 #define _EXT2_HAVE_ASM_BITOPS_
9657 #define _EXT2_HAVE_ASM_SWAB_
9658 #define _EXT2_HAVE_ASM_FINDBIT_
9659 # 179 "../lib/ext2fs/bitops.h"
9660 struct __dummy_h { unsigned long a[100]; };
9661 #define EXT2FS_ADDR (*(struct __dummy_h *) addr)
9662 #define EXT2FS_CONST_ADDR (*(const struct __dummy_h *) addr)
9664 extern __inline__ int ext2fs_set_bit(unsigned int nr, void * addr)
9668 addr = (void *) (((unsigned char *) addr) + (nr >> 3));
9669 __asm__ __volatile__("btsl %2,%1\n\tsbbl %0,%0"
9670 :"=r" (oldbit),"+m" ((*(struct __dummy_h *) addr))
9675 extern __inline__ int ext2fs_clear_bit(unsigned int nr, void * addr)
9679 addr = (void *) (((unsigned char *) addr) + (nr >> 3));
9680 __asm__ __volatile__("btrl %2,%1\n\tsbbl %0,%0"
9681 :"=r" (oldbit),"+m" ((*(struct __dummy_h *) addr))
9686 extern __inline__ int ext2fs_test_bit(unsigned int nr, const void * addr)
9690 addr = (const void *) (((const unsigned char *) addr) + (nr >> 3));
9691 __asm__ __volatile__("btl %2,%1\n\tsbbl %0,%0"
9693 :"m" ((*(const struct __dummy_h *) addr)),"r" (nr & 7));
9696 # 271 "../lib/ext2fs/bitops.h"
9697 extern __inline__ __u32 ext2fs_swab32(__u32 val)
9702 __asm__("xchgb %b0,%h0\n\t"
9711 extern __inline__ __u16 ext2fs_swab16(__u16 val)
9713 __asm__("xchgb %b0,%h0" : "=q" (val) : "0" (val)); return val;
9719 extern __inline__ __u64 ext2fs_swab64(__u64 val)
9721 return (ext2fs_swab32(val >> 32) |
9722 (((__u64)ext2fs_swab32(val & 0xFFFFFFFFUL)) << 32));
9727 # 404 "../lib/ext2fs/bitops.h"
9728 extern __inline__ int ext2fs_test_generic_bitmap(ext2fs_generic_bitmap bitmap,
9731 extern __inline__ int ext2fs_test_generic_bitmap(ext2fs_generic_bitmap bitmap,
9734 if ((bitno < bitmap->start) || (bitno > bitmap->end)) {
9735 ext2fs_warn_bitmap2(bitmap, 2, bitno);
9738 return ext2fs_test_bit(bitno - bitmap->start, bitmap->bitmap);
9741 extern __inline__ int ext2fs_mark_block_bitmap(ext2fs_block_bitmap bitmap,
9744 return ext2fs_mark_generic_bitmap((ext2fs_generic_bitmap)
9749 extern __inline__ int ext2fs_unmark_block_bitmap(ext2fs_block_bitmap bitmap,
9752 return ext2fs_unmark_generic_bitmap((ext2fs_generic_bitmap) bitmap,
9756 extern __inline__ int ext2fs_test_block_bitmap(ext2fs_block_bitmap bitmap,
9759 return ext2fs_test_generic_bitmap((ext2fs_generic_bitmap) bitmap,
9763 extern __inline__ int ext2fs_mark_inode_bitmap(ext2fs_inode_bitmap bitmap,
9766 return ext2fs_mark_generic_bitmap((ext2fs_generic_bitmap) bitmap,
9770 extern __inline__ int ext2fs_unmark_inode_bitmap(ext2fs_inode_bitmap bitmap,
9773 return ext2fs_unmark_generic_bitmap((ext2fs_generic_bitmap) bitmap,
9777 extern __inline__ int ext2fs_test_inode_bitmap(ext2fs_inode_bitmap bitmap,
9780 return ext2fs_test_generic_bitmap((ext2fs_generic_bitmap) bitmap,
9784 extern __inline__ void ext2fs_fast_mark_block_bitmap(ext2fs_block_bitmap bitmap,
9794 ext2fs_fast_set_bit(block - bitmap->start, bitmap->bitmap);
9797 extern __inline__ void ext2fs_fast_unmark_block_bitmap(ext2fs_block_bitmap bitmap,
9807 ext2fs_fast_clear_bit(block - bitmap->start, bitmap->bitmap);
9810 extern __inline__ int ext2fs_fast_test_block_bitmap(ext2fs_block_bitmap bitmap,
9820 return ext2fs_test_bit(block - bitmap->start, bitmap->bitmap);
9823 extern __inline__ void ext2fs_fast_mark_inode_bitmap(ext2fs_inode_bitmap bitmap,
9833 ext2fs_fast_set_bit(inode - bitmap->start, bitmap->bitmap);
9836 extern __inline__ void ext2fs_fast_unmark_inode_bitmap(ext2fs_inode_bitmap bitmap,
9846 ext2fs_fast_clear_bit(inode - bitmap->start, bitmap->bitmap);
9849 extern __inline__ int ext2fs_fast_test_inode_bitmap(ext2fs_inode_bitmap bitmap,
9859 return ext2fs_test_bit(inode - bitmap->start, bitmap->bitmap);
9862 extern __inline__ blk_t ext2fs_get_block_bitmap_start(ext2fs_block_bitmap bitmap)
9864 return bitmap->start;
9867 extern __inline__ ext2_ino_t ext2fs_get_inode_bitmap_start(ext2fs_inode_bitmap bitmap)
9869 return bitmap->start;
9872 extern __inline__ blk_t ext2fs_get_block_bitmap_end(ext2fs_block_bitmap bitmap)
9877 extern __inline__ ext2_ino_t ext2fs_get_inode_bitmap_end(ext2fs_inode_bitmap bitmap)
9882 extern __inline__ int ext2fs_test_block_bitmap_range(ext2fs_block_bitmap bitmap,
9883 blk_t block, int num)
9887 if ((block < bitmap->start) || (block+num-1 > bitmap->end)) {
9888 ext2fs_warn_bitmap((2133571375L),
9889 block, bitmap->description);
9892 for (i=0; i < num; i++) {
9893 if (ext2fs_fast_test_block_bitmap(bitmap, block+i))
9899 extern __inline__ int ext2fs_fast_test_block_bitmap_range(ext2fs_block_bitmap bitmap,
9900 blk_t block, int num)
9903 # 587 "../lib/ext2fs/bitops.h"
9904 for (i=0; i < num; i++) {
9905 if (ext2fs_fast_test_block_bitmap(bitmap, block+i))
9911 extern __inline__ void ext2fs_mark_block_bitmap_range(ext2fs_block_bitmap bitmap,
9912 blk_t block, int num)
9916 if ((block < bitmap->start) || (block+num-1 > bitmap->end)) {
9917 ext2fs_warn_bitmap((2133571373L), block,
9918 bitmap->description);
9921 for (i=0; i < num; i++)
9922 ext2fs_fast_set_bit(block + i - bitmap->start, bitmap->bitmap);
9925 extern __inline__ void ext2fs_fast_mark_block_bitmap_range(ext2fs_block_bitmap bitmap,
9926 blk_t block, int num)
9929 # 620 "../lib/ext2fs/bitops.h"
9930 for (i=0; i < num; i++)
9931 ext2fs_fast_set_bit(block + i - bitmap->start, bitmap->bitmap);
9934 extern __inline__ void ext2fs_unmark_block_bitmap_range(ext2fs_block_bitmap bitmap,
9935 blk_t block, int num)
9939 if ((block < bitmap->start) || (block+num-1 > bitmap->end)) {
9940 ext2fs_warn_bitmap((2133571374L), block,
9941 bitmap->description);
9944 for (i=0; i < num; i++)
9945 ext2fs_fast_clear_bit(block + i - bitmap->start,
9949 extern __inline__ void ext2fs_fast_unmark_block_bitmap_range(ext2fs_block_bitmap bitmap,
9950 blk_t block, int num)
9953 # 651 "../lib/ext2fs/bitops.h"
9954 for (i=0; i < num; i++)
9955 ext2fs_fast_clear_bit(block + i - bitmap->start,
9959 # 254 "../lib/ext2fs/ext2fs.h" 2
9965 #define BLOCK_CHANGED 1
9966 #define BLOCK_ABORT 2
9967 #define BLOCK_ERROR 4
9968 # 284 "../lib/ext2fs/ext2fs.h"
9969 #define BLOCK_FLAG_APPEND 1
9970 #define BLOCK_FLAG_HOLE 1
9971 #define BLOCK_FLAG_DEPTH_TRAVERSE 2
9972 #define BLOCK_FLAG_DATA_ONLY 4
9974 #define BLOCK_FLAG_NO_LARGE 0x1000
9979 #define BLOCK_COUNT_IND (-1)
9980 #define BLOCK_COUNT_DIND (-2)
9981 #define BLOCK_COUNT_TIND (-3)
9982 #define BLOCK_COUNT_TRANSLATOR (-4)
9983 # 310 "../lib/ext2fs/ext2fs.h"
9984 #define EXT2_DIRBLOCK_V2_STRUCT 0x0001
9989 #define DIRENT_CHANGED 1
9990 #define DIRENT_ABORT 2
9991 #define DIRENT_ERROR 3
9997 #define DIRENT_FLAG_INCLUDE_EMPTY 1
9998 #define DIRENT_FLAG_INCLUDE_REMOVED 2
10000 #define DIRENT_DOT_FILE 1
10001 #define DIRENT_DOT_DOT_FILE 2
10002 #define DIRENT_OTHER_FILE 3
10003 #define DIRENT_DELETED_FILE 4
10008 typedef struct ext2_struct_inode_scan *ext2_inode_scan;
10013 #define EXT2_SF_CHK_BADBLOCKS 0x0001
10014 #define EXT2_SF_BAD_INODE_BLK 0x0002
10015 #define EXT2_SF_BAD_EXTRA_BYTES 0x0004
10016 #define EXT2_SF_SKIP_MISSING_ITABLE 0x0008
10017 #define EXT2_SF_DO_LAZY 0x0010
10022 #define EXT2_MF_MOUNTED 1
10023 #define EXT2_MF_ISROOT 2
10024 #define EXT2_MF_READONLY 4
10025 #define EXT2_MF_SWAP 8
10026 #define EXT2_MF_BUSY 16
10033 #define LINUX_S_IFMT 00170000
10034 #define LINUX_S_IFSOCK 0140000
10035 #define LINUX_S_IFLNK 0120000
10036 #define LINUX_S_IFREG 0100000
10037 #define LINUX_S_IFBLK 0060000
10038 #define LINUX_S_IFDIR 0040000
10039 #define LINUX_S_IFCHR 0020000
10040 #define LINUX_S_IFIFO 0010000
10041 #define LINUX_S_ISUID 0004000
10042 #define LINUX_S_ISGID 0002000
10043 #define LINUX_S_ISVTX 0001000
10045 #define LINUX_S_IRWXU 00700
10046 #define LINUX_S_IRUSR 00400
10047 #define LINUX_S_IWUSR 00200
10048 #define LINUX_S_IXUSR 00100
10050 #define LINUX_S_IRWXG 00070
10051 #define LINUX_S_IRGRP 00040
10052 #define LINUX_S_IWGRP 00020
10053 #define LINUX_S_IXGRP 00010
10055 #define LINUX_S_IRWXO 00007
10056 #define LINUX_S_IROTH 00004
10057 #define LINUX_S_IWOTH 00002
10058 #define LINUX_S_IXOTH 00001
10060 #define LINUX_S_ISLNK(m) (((m) & LINUX_S_IFMT) == LINUX_S_IFLNK)
10061 #define LINUX_S_ISREG(m) (((m) & LINUX_S_IFMT) == LINUX_S_IFREG)
10062 #define LINUX_S_ISDIR(m) (((m) & LINUX_S_IFMT) == LINUX_S_IFDIR)
10063 #define LINUX_S_ISCHR(m) (((m) & LINUX_S_IFMT) == LINUX_S_IFCHR)
10064 #define LINUX_S_ISBLK(m) (((m) & LINUX_S_IFMT) == LINUX_S_IFBLK)
10065 #define LINUX_S_ISFIFO(m) (((m) & LINUX_S_IFMT) == LINUX_S_IFIFO)
10066 #define LINUX_S_ISSOCK(m) (((m) & LINUX_S_IFMT) == LINUX_S_IFSOCK)
10071 #define EXT2_I_SIZE(i) ((i)->i_size | ((__u64) (i)->i_size_high << 32))
10076 #define EXT2_ICOUNT_OPT_INCREMENT 0x01
10078 typedef struct ext2_icount *ext2_icount_t;
10083 #define BMAP_ALLOC 0x0001
10084 #define BMAP_SET 0x0002
10089 #define IMAGER_FLAG_INODEMAP 1
10090 #define IMAGER_FLAG_SPARSEWRITE 2
10096 #define EXT2_CHECK_MAGIC(struct,code) if ((struct)->magic != (code)) return (code)
10103 #define EXT2FS_COMPRESSED_BLKADDR ((blk_t) 0xffffffff)
10104 #define HOLE_BLKADDR(_b) ((_b) == 0 || (_b) == EXT2FS_COMPRESSED_BLKADDR)
10109 #define EXT2_LIB_FEATURE_COMPAT_SUPP (EXT2_FEATURE_COMPAT_DIR_PREALLOC| EXT2_FEATURE_COMPAT_IMAGIC_INODES| EXT3_FEATURE_COMPAT_HAS_JOURNAL| EXT2_FEATURE_COMPAT_RESIZE_INODE| EXT2_FEATURE_COMPAT_DIR_INDEX| EXT2_FEATURE_COMPAT_LAZY_BG| EXT2_FEATURE_COMPAT_EXT_ATTR)
10110 # 457 "../lib/ext2fs/ext2fs.h"
10111 #define EXT2_LIB_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE| EXT3_FEATURE_INCOMPAT_JOURNAL_DEV| EXT2_FEATURE_INCOMPAT_META_BG| EXT3_FEATURE_INCOMPAT_RECOVER)
10116 #define EXT2_LIB_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| EXT2_FEATURE_RO_COMPAT_LARGE_FILE)
10123 #define EXT2_LIB_SOFTSUPP_INCOMPAT (EXT3_FEATURE_INCOMPAT_EXTENTS)
10124 #define EXT2_LIB_SOFTSUPP_RO_COMPAT (EXT4_FEATURE_RO_COMPAT_HUGE_FILE| EXT4_FEATURE_RO_COMPAT_GDT_CSUM| EXT4_FEATURE_RO_COMPAT_DIR_NLINK| EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE)
10125 # 480 "../lib/ext2fs/ext2fs.h"
10126 extern errcode_t ext2fs_new_inode(ext2_filsys fs, ext2_ino_t dir, int mode,
10127 ext2fs_inode_bitmap map, ext2_ino_t *ret);
10128 extern errcode_t ext2fs_new_block(ext2_filsys fs, blk_t goal,
10129 ext2fs_block_bitmap map, blk_t *ret);
10130 extern errcode_t ext2fs_get_free_blocks(ext2_filsys fs, blk_t start,
10131 blk_t finish, int num,
10132 ext2fs_block_bitmap map,
10134 extern errcode_t ext2fs_alloc_block(ext2_filsys fs, blk_t goal,
10135 char *block_buf, blk_t *ret);
10138 extern int ext2fs_reserve_super_and_bgd(ext2_filsys fs,
10140 ext2fs_block_bitmap bmap);
10143 void ext2fs_inode_alloc_stats(ext2_filsys fs, ext2_ino_t ino, int inuse);
10144 void ext2fs_inode_alloc_stats2(ext2_filsys fs, ext2_ino_t ino,
10145 int inuse, int isdir);
10146 void ext2fs_block_alloc_stats(ext2_filsys fs, blk_t blk, int inuse);
10149 extern errcode_t ext2fs_allocate_tables(ext2_filsys fs);
10150 extern errcode_t ext2fs_allocate_group_table(ext2_filsys fs, dgrp_t group,
10151 ext2fs_block_bitmap bmap);
10154 extern errcode_t ext2fs_u32_list_create(ext2_u32_list *ret, int size);
10155 extern errcode_t ext2fs_u32_list_add(ext2_u32_list bb, __u32 blk);
10156 extern int ext2fs_u32_list_find(ext2_u32_list bb, __u32 blk);
10157 extern int ext2fs_u32_list_test(ext2_u32_list bb, blk_t blk);
10158 extern errcode_t ext2fs_u32_list_iterate_begin(ext2_u32_list bb,
10159 ext2_u32_iterate *ret);
10160 extern int ext2fs_u32_list_iterate(ext2_u32_iterate iter, blk_t *blk);
10161 extern void ext2fs_u32_list_iterate_end(ext2_u32_iterate iter);
10162 extern errcode_t ext2fs_u32_copy(ext2_u32_list src, ext2_u32_list *dest);
10163 extern int ext2fs_u32_list_equal(ext2_u32_list bb1, ext2_u32_list bb2);
10165 extern errcode_t ext2fs_badblocks_list_create(ext2_badblocks_list *ret,
10167 extern errcode_t ext2fs_badblocks_list_add(ext2_badblocks_list bb,
10169 extern int ext2fs_badblocks_list_test(ext2_badblocks_list bb,
10171 extern int ext2fs_u32_list_del(ext2_u32_list bb, __u32 blk);
10172 extern void ext2fs_badblocks_list_del(ext2_u32_list bb, __u32 blk);
10174 ext2fs_badblocks_list_iterate_begin(ext2_badblocks_list bb,
10175 ext2_badblocks_iterate *ret);
10176 extern int ext2fs_badblocks_list_iterate(ext2_badblocks_iterate iter,
10178 extern void ext2fs_badblocks_list_iterate_end(ext2_badblocks_iterate iter);
10179 extern errcode_t ext2fs_badblocks_copy(ext2_badblocks_list src,
10180 ext2_badblocks_list *dest);
10181 extern int ext2fs_badblocks_equal(ext2_badblocks_list bb1,
10182 ext2_badblocks_list bb2);
10183 extern int ext2fs_u32_list_count(ext2_u32_list bb);
10186 extern errcode_t badblocks_list_create(badblocks_list *ret, int size);
10187 extern errcode_t badblocks_list_add(badblocks_list bb, blk_t blk);
10188 extern int badblocks_list_test(badblocks_list bb, blk_t blk);
10189 extern errcode_t badblocks_list_iterate_begin(badblocks_list bb,
10190 badblocks_iterate *ret);
10191 extern int badblocks_list_iterate(badblocks_iterate iter, blk_t *blk);
10192 extern void badblocks_list_iterate_end(badblocks_iterate iter);
10193 extern void badblocks_list_free(badblocks_list bb);
10196 extern errcode_t ext2fs_update_bb_inode(ext2_filsys fs,
10197 ext2_badblocks_list bb_list);
10200 extern errcode_t ext2fs_write_inode_bitmap(ext2_filsys fs);
10201 extern errcode_t ext2fs_write_block_bitmap (ext2_filsys fs);
10202 extern errcode_t ext2fs_read_inode_bitmap (ext2_filsys fs);
10203 extern errcode_t ext2fs_read_block_bitmap(ext2_filsys fs);
10204 extern errcode_t ext2fs_allocate_generic_bitmap(__u32 start,
10208 ext2fs_generic_bitmap *ret);
10209 extern errcode_t ext2fs_allocate_block_bitmap(ext2_filsys fs,
10211 ext2fs_block_bitmap *ret);
10212 extern errcode_t ext2fs_allocate_inode_bitmap(ext2_filsys fs,
10214 ext2fs_inode_bitmap *ret);
10215 extern errcode_t ext2fs_fudge_inode_bitmap_end(ext2fs_inode_bitmap bitmap,
10216 ext2_ino_t end, ext2_ino_t *oend);
10217 extern errcode_t ext2fs_fudge_block_bitmap_end(ext2fs_block_bitmap bitmap,
10218 blk_t end, blk_t *oend);
10219 extern void ext2fs_clear_inode_bitmap(ext2fs_inode_bitmap bitmap);
10220 extern void ext2fs_clear_block_bitmap(ext2fs_block_bitmap bitmap);
10221 extern errcode_t ext2fs_read_bitmaps(ext2_filsys fs);
10222 extern errcode_t ext2fs_write_bitmaps(ext2_filsys fs);
10225 extern errcode_t ext2fs_block_iterate(ext2_filsys fs,
10229 int (*func)(ext2_filsys fs,
10234 errcode_t ext2fs_block_iterate2(ext2_filsys fs,
10238 int (*func)(ext2_filsys fs,
10240 e2_blkcnt_t blockcnt,
10247 extern errcode_t ext2fs_bmap(ext2_filsys fs, ext2_ino_t ino,
10248 struct ext2_inode *inode,
10249 char *block_buf, int bmap_flags,
10250 blk_t block, blk_t *phys_blk);
10251 # 616 "../lib/ext2fs/ext2fs.h"
10252 extern errcode_t ext2fs_check_desc(ext2_filsys fs);
10255 extern errcode_t ext2fs_close(ext2_filsys fs);
10256 extern errcode_t ext2fs_flush(ext2_filsys fs);
10257 extern int ext2fs_bg_has_super(ext2_filsys fs, int group_block);
10258 extern int ext2fs_super_and_bgd_loc(ext2_filsys fs,
10260 blk_t *ret_super_blk,
10261 blk_t *ret_old_desc_blk,
10262 blk_t *ret_new_desc_blk,
10264 extern void ext2fs_update_dynamic_rev(ext2_filsys fs);
10267 extern errcode_t ext2fs_compare_block_bitmap(ext2fs_block_bitmap bm1,
10268 ext2fs_block_bitmap bm2);
10269 extern errcode_t ext2fs_compare_inode_bitmap(ext2fs_inode_bitmap bm1,
10270 ext2fs_inode_bitmap bm2);
10274 extern errcode_t ext2fs_get_num_dirs(ext2_filsys fs, ext2_ino_t *ret_num_dirs);
10275 extern errcode_t ext2fs_init_dblist(ext2_filsys fs, ext2_dblist *ret_dblist);
10276 extern errcode_t ext2fs_add_dir_block(ext2_dblist dblist, ext2_ino_t ino,
10277 blk_t blk, int blockcnt);
10278 extern void ext2fs_dblist_sort(ext2_dblist dblist,
10279 int (*sortfunc)(const void *,
10281 extern errcode_t ext2fs_dblist_iterate(ext2_dblist dblist,
10282 int (*func)(ext2_filsys fs, struct ext2_db_entry *db_info,
10285 extern errcode_t ext2fs_set_dir_block(ext2_dblist dblist, ext2_ino_t ino,
10286 blk_t blk, int blockcnt);
10287 extern errcode_t ext2fs_copy_dblist(ext2_dblist src,
10288 ext2_dblist *dest);
10289 extern int ext2fs_dblist_count(ext2_dblist dblist);
10293 ext2fs_dblist_dir_iterate(ext2_dblist dblist,
10296 int (*func)(ext2_ino_t dir,
10298 struct ext2_dir_entry *dirent,
10306 extern errcode_t ext2fs_read_dir_block(ext2_filsys fs, blk_t block,
10308 extern errcode_t ext2fs_read_dir_block2(ext2_filsys fs, blk_t block,
10309 void *buf, int flags);
10310 extern errcode_t ext2fs_write_dir_block(ext2_filsys fs, blk_t block,
10312 extern errcode_t ext2fs_write_dir_block2(ext2_filsys fs, blk_t block,
10313 void *buf, int flags);
10316 extern errcode_t ext2fs_dirhash(int version, const char *name, int len,
10318 ext2_dirhash_t *ret_hash,
10319 ext2_dirhash_t *ret_minor_hash);
10323 extern errcode_t ext2fs_dir_iterate(ext2_filsys fs,
10327 int (*func)(struct ext2_dir_entry *dirent,
10333 extern errcode_t ext2fs_dir_iterate2(ext2_filsys fs,
10337 int (*func)(ext2_ino_t dir,
10339 struct ext2_dir_entry *dirent,
10347 extern errcode_t ext2fs_dup_handle(ext2_filsys src, ext2_filsys *dest);
10350 extern errcode_t ext2fs_expand_dir(ext2_filsys fs, ext2_ino_t dir);
10353 extern errcode_t ext2fs_read_ext_attr(ext2_filsys fs, blk_t block, void *buf);
10354 extern errcode_t ext2fs_write_ext_attr(ext2_filsys fs, blk_t block,
10356 extern errcode_t ext2fs_adjust_ea_refcount(ext2_filsys fs, blk_t blk,
10358 int adjust, __u32 *newcount);
10361 extern errcode_t ext2fs_file_open2(ext2_filsys fs, ext2_ino_t ino,
10362 struct ext2_inode *inode,
10363 int flags, ext2_file_t *ret);
10364 extern errcode_t ext2fs_file_open(ext2_filsys fs, ext2_ino_t ino,
10365 int flags, ext2_file_t *ret);
10366 extern ext2_filsys ext2fs_file_get_fs(ext2_file_t file);
10367 extern errcode_t ext2fs_file_close(ext2_file_t file);
10368 extern errcode_t ext2fs_file_flush(ext2_file_t file);
10369 extern errcode_t ext2fs_file_read(ext2_file_t file, void *buf,
10370 unsigned int wanted, unsigned int *got);
10371 extern errcode_t ext2fs_file_write(ext2_file_t file, const void *buf,
10372 unsigned int nbytes, unsigned int *written);
10373 extern errcode_t ext2fs_file_llseek(ext2_file_t file, __u64 offset,
10374 int whence, __u64 *ret_pos);
10375 extern errcode_t ext2fs_file_lseek(ext2_file_t file, ext2_off_t offset,
10376 int whence, ext2_off_t *ret_pos);
10377 errcode_t ext2fs_file_get_lsize(ext2_file_t file, __u64 *ret_size);
10378 extern ext2_off_t ext2fs_file_get_size(ext2_file_t file);
10379 extern errcode_t ext2fs_file_set_size(ext2_file_t file, ext2_off_t size);
10382 extern char *ext2fs_find_block_device(dev_t device);
10385 extern errcode_t ext2fs_sync_device(int fd, int flushb);
10388 extern void ext2fs_free(ext2_filsys fs);
10389 extern void ext2fs_free_generic_bitmap(ext2fs_inode_bitmap bitmap);
10390 extern void ext2fs_free_block_bitmap(ext2fs_block_bitmap bitmap);
10391 extern void ext2fs_free_inode_bitmap(ext2fs_inode_bitmap bitmap);
10392 extern void ext2fs_free_dblist(ext2_dblist dblist);
10393 extern void ext2fs_badblocks_list_free(ext2_badblocks_list bb);
10394 extern void ext2fs_u32_list_free(ext2_u32_list bb);
10397 extern errcode_t ext2fs_get_device_size(const char *file, int blocksize,
10401 errcode_t ext2fs_get_device_sectsize(const char *file, int *sectsize);
10404 extern errcode_t ext2fs_image_inode_write(ext2_filsys fs, int fd, int flags);
10405 extern errcode_t ext2fs_image_inode_read(ext2_filsys fs, int fd, int flags);
10406 extern errcode_t ext2fs_image_super_write(ext2_filsys fs, int fd, int flags);
10407 extern errcode_t ext2fs_image_super_read(ext2_filsys fs, int fd, int flags);
10408 extern errcode_t ext2fs_image_bitmap_write(ext2_filsys fs, int fd, int flags);
10409 extern errcode_t ext2fs_image_bitmap_read(ext2_filsys fs, int fd, int flags);
10412 errcode_t ext2fs_read_ind_block(ext2_filsys fs, blk_t blk, void *buf);
10413 errcode_t ext2fs_write_ind_block(ext2_filsys fs, blk_t blk, void *buf);
10416 extern errcode_t ext2fs_initialize(const char *name, int flags,
10417 struct ext2_super_block *param,
10418 io_manager manager, ext2_filsys *ret_fs);
10421 extern void ext2fs_free_icount(ext2_icount_t icount);
10422 extern errcode_t ext2fs_create_icount_tdb(ext2_filsys fs, char *tdb_dir,
10423 int flags, ext2_icount_t *ret);
10424 extern errcode_t ext2fs_create_icount2(ext2_filsys fs, int flags,
10426 ext2_icount_t hint, ext2_icount_t *ret);
10427 extern errcode_t ext2fs_create_icount(ext2_filsys fs, int flags,
10429 ext2_icount_t *ret);
10430 extern errcode_t ext2fs_icount_fetch(ext2_icount_t icount, ext2_ino_t ino,
10432 extern errcode_t ext2fs_icount_increment(ext2_icount_t icount, ext2_ino_t ino,
10434 extern errcode_t ext2fs_icount_decrement(ext2_icount_t icount, ext2_ino_t ino,
10436 extern errcode_t ext2fs_icount_store(ext2_icount_t icount, ext2_ino_t ino,
10438 extern ext2_ino_t ext2fs_get_icount_size(ext2_icount_t icount);
10439 errcode_t ext2fs_icount_validate(ext2_icount_t icount, FILE *);
10442 extern errcode_t ext2fs_flush_icache(ext2_filsys fs);
10443 extern errcode_t ext2fs_get_next_inode_full(ext2_inode_scan scan,
10445 struct ext2_inode *inode,
10447 extern errcode_t ext2fs_open_inode_scan(ext2_filsys fs, int buffer_blocks,
10448 ext2_inode_scan *ret_scan);
10449 extern void ext2fs_close_inode_scan(ext2_inode_scan scan);
10450 extern errcode_t ext2fs_get_next_inode(ext2_inode_scan scan, ext2_ino_t *ino,
10451 struct ext2_inode *inode);
10452 extern errcode_t ext2fs_inode_scan_goto_blockgroup(ext2_inode_scan scan,
10454 extern void ext2fs_set_inode_callback
10455 (ext2_inode_scan scan,
10456 errcode_t (*done_group)(ext2_filsys fs,
10457 ext2_inode_scan scan,
10460 void *done_group_data);
10461 extern int ext2fs_inode_scan_flags(ext2_inode_scan scan, int set_flags,
10463 extern errcode_t ext2fs_read_inode_full(ext2_filsys fs, ext2_ino_t ino,
10464 struct ext2_inode * inode,
10466 extern errcode_t ext2fs_read_inode (ext2_filsys fs, ext2_ino_t ino,
10467 struct ext2_inode * inode);
10468 extern errcode_t ext2fs_write_inode_full(ext2_filsys fs, ext2_ino_t ino,
10469 struct ext2_inode * inode,
10471 extern errcode_t ext2fs_write_inode(ext2_filsys fs, ext2_ino_t ino,
10472 struct ext2_inode * inode);
10473 extern errcode_t ext2fs_write_new_inode(ext2_filsys fs, ext2_ino_t ino,
10474 struct ext2_inode * inode);
10475 extern errcode_t ext2fs_get_blocks(ext2_filsys fs, ext2_ino_t ino, blk_t *blocks);
10476 extern errcode_t ext2fs_check_directory(ext2_filsys fs, ext2_ino_t ino);
10479 extern io_manager inode_io_manager;
10480 extern errcode_t ext2fs_inode_io_intern(ext2_filsys fs, ext2_ino_t ino,
10482 extern errcode_t ext2fs_inode_io_intern2(ext2_filsys fs, ext2_ino_t ino,
10483 struct ext2_inode *inode,
10487 extern errcode_t ext2fs_check_if_mounted(const char *file, int *mount_flags);
10488 extern errcode_t ext2fs_check_mount_point(const char *device, int *mount_flags,
10489 char *mtpt, int mtlen);
10492 extern errcode_t ext2fs_lookup(ext2_filsys fs, ext2_ino_t dir, const char *name,
10493 int namelen, char *buf, ext2_ino_t *inode);
10494 extern errcode_t ext2fs_namei(ext2_filsys fs, ext2_ino_t root, ext2_ino_t cwd,
10495 const char *name, ext2_ino_t *inode);
10496 errcode_t ext2fs_namei_follow(ext2_filsys fs, ext2_ino_t root, ext2_ino_t cwd,
10497 const char *name, ext2_ino_t *inode);
10498 extern errcode_t ext2fs_follow_link(ext2_filsys fs, ext2_ino_t root, ext2_ino_t cwd,
10499 ext2_ino_t inode, ext2_ino_t *res_inode);
10502 int ext2fs_native_flag(void);
10505 extern errcode_t ext2fs_new_dir_block(ext2_filsys fs, ext2_ino_t dir_ino,
10506 ext2_ino_t parent_ino, char **block);
10509 extern errcode_t ext2fs_mkdir(ext2_filsys fs, ext2_ino_t parent, ext2_ino_t inum,
10513 extern errcode_t ext2fs_create_journal_superblock(ext2_filsys fs,
10514 __u32 size, int flags,
10516 extern errcode_t ext2fs_add_journal_device(ext2_filsys fs,
10517 ext2_filsys journal_dev);
10518 extern errcode_t ext2fs_add_journal_inode(ext2_filsys fs, blk_t size,
10520 extern int ext2fs_default_journal_size(__u64 blocks);
10523 extern errcode_t ext2fs_open(const char *name, int flags, int superblock,
10524 unsigned int block_size, io_manager manager,
10525 ext2_filsys *ret_fs);
10526 extern errcode_t ext2fs_open2(const char *name, const char *io_options,
10527 int flags, int superblock,
10528 unsigned int block_size, io_manager manager,
10529 ext2_filsys *ret_fs);
10530 extern blk_t ext2fs_descriptor_block_loc(ext2_filsys fs, blk_t group_block,
10532 errcode_t ext2fs_get_data_io(ext2_filsys fs, io_channel *old_io);
10533 errcode_t ext2fs_set_data_io(ext2_filsys fs, io_channel new_io);
10534 errcode_t ext2fs_rewrite_to_io(ext2_filsys fs, io_channel new_io);
10537 extern errcode_t ext2fs_get_pathname(ext2_filsys fs, ext2_ino_t dir, ext2_ino_t ino,
10541 errcode_t ext2fs_link(ext2_filsys fs, ext2_ino_t dir, const char *name,
10542 ext2_ino_t ino, int flags);
10543 errcode_t ext2fs_unlink(ext2_filsys fs, ext2_ino_t dir, const char *name,
10544 ext2_ino_t ino, int flags);
10547 extern errcode_t ext2fs_read_bb_inode(ext2_filsys fs,
10548 ext2_badblocks_list *bb_list);
10551 extern errcode_t ext2fs_read_bb_FILE2(ext2_filsys fs, FILE *f,
10552 ext2_badblocks_list *bb_list,
10554 void (*invalid)(ext2_filsys fs,
10558 extern errcode_t ext2fs_read_bb_FILE(ext2_filsys fs, FILE *f,
10559 ext2_badblocks_list *bb_list,
10560 void (*invalid)(ext2_filsys fs,
10564 extern errcode_t ext2fs_create_resize_inode(ext2_filsys fs);
10567 extern errcode_t ext2fs_resize_generic_bitmap(__u32 new_end,
10568 __u32 new_real_end,
10569 ext2fs_generic_bitmap bmap);
10570 extern errcode_t ext2fs_resize_inode_bitmap(__u32 new_end, __u32 new_real_end,
10571 ext2fs_inode_bitmap bmap);
10572 extern errcode_t ext2fs_resize_block_bitmap(__u32 new_end, __u32 new_real_end,
10573 ext2fs_block_bitmap bmap);
10574 extern errcode_t ext2fs_copy_bitmap(ext2fs_generic_bitmap src,
10575 ext2fs_generic_bitmap *dest);
10578 extern void ext2fs_swap_ext_attr(char *to, char *from, int bufsize,
10580 extern void ext2fs_swap_super(struct ext2_super_block * super);
10581 extern void ext2fs_swap_group_desc(struct ext2_group_desc *gdp);
10582 extern void ext2fs_swap_inode_full(ext2_filsys fs, struct ext2_inode_large *t,
10583 struct ext2_inode_large *f, int hostorder,
10585 extern void ext2fs_swap_inode(ext2_filsys fs,struct ext2_inode *t,
10586 struct ext2_inode *f, int hostorder);
10589 extern int ext2fs_inode_has_valid_blocks(struct ext2_inode *inode);
10592 extern int ext2fs_parse_version_string(const char *ver_string);
10593 extern int ext2fs_get_library_version(const char **ver_string,
10594 const char **date_string);
10597 extern errcode_t ext2fs_write_bb_FILE(ext2_badblocks_list bb_list,
10598 unsigned int flags,
10603 extern errcode_t ext2fs_get_mem(unsigned long size, void *ptr);
10604 extern errcode_t ext2fs_get_array(unsigned long count, unsigned long size, void *ptr);
10605 extern errcode_t ext2fs_free_mem(void *ptr);
10606 extern errcode_t ext2fs_resize_mem(unsigned long old_size,
10607 unsigned long size, void *ptr);
10608 extern void ext2fs_mark_super_dirty(ext2_filsys fs);
10609 extern void ext2fs_mark_changed(ext2_filsys fs);
10610 extern int ext2fs_test_changed(ext2_filsys fs);
10611 extern void ext2fs_mark_valid(ext2_filsys fs);
10612 extern void ext2fs_unmark_valid(ext2_filsys fs);
10613 extern int ext2fs_test_valid(ext2_filsys fs);
10614 extern void ext2fs_mark_ib_dirty(ext2_filsys fs);
10615 extern void ext2fs_mark_bb_dirty(ext2_filsys fs);
10616 extern int ext2fs_test_ib_dirty(ext2_filsys fs);
10617 extern int ext2fs_test_bb_dirty(ext2_filsys fs);
10618 extern int ext2fs_group_of_blk(ext2_filsys fs, blk_t blk);
10619 extern int ext2fs_group_of_ino(ext2_filsys fs, ext2_ino_t ino);
10620 extern blk_t ext2fs_group_first_block(ext2_filsys fs, dgrp_t group);
10621 extern blk_t ext2fs_group_last_block(ext2_filsys fs, dgrp_t group);
10622 extern blk_t ext2fs_inode_data_blocks(ext2_filsys fs,
10623 struct ext2_inode *inode);
10624 extern unsigned int ext2fs_div_ceil(unsigned int a, unsigned int b);
10625 # 1001 "../lib/ext2fs/ext2fs.h"
10626 #define _INLINE_ extern __inline__
10627 # 1012 "../lib/ext2fs/ext2fs.h"
10628 extern __inline__ errcode_t ext2fs_get_mem(unsigned long size, void *ptr)
10634 return (2133571398L);
10635 memcpy(ptr, &pp, sizeof (pp));
10639 extern __inline__ errcode_t ext2fs_get_array(unsigned long count, unsigned long size, void *ptr)
10641 if (count && (-1UL)/count<size)
10642 return (2133571398L);
10643 return ext2fs_get_mem(count*size, ptr);
10649 extern __inline__ errcode_t ext2fs_free_mem(void *ptr)
10653 memcpy(&p, ptr, sizeof(p));
10656 memcpy(ptr, &p, sizeof(p));
10663 extern __inline__ errcode_t ext2fs_resize_mem(unsigned long __attribute__((unused)) old_size,
10664 unsigned long size, void *ptr)
10670 memcpy(&p, ptr, sizeof(p));
10671 p = realloc(p, size);
10673 return (2133571398L);
10674 memcpy(ptr, &p, sizeof(p));
10682 extern __inline__ void ext2fs_mark_super_dirty(ext2_filsys fs)
10684 fs->flags |= 0x04 | 0x02;
10690 extern __inline__ void ext2fs_mark_changed(ext2_filsys fs)
10698 extern __inline__ int ext2fs_test_changed(ext2_filsys fs)
10700 return (fs->flags & 0x02);
10706 extern __inline__ void ext2fs_mark_valid(ext2_filsys fs)
10714 extern __inline__ void ext2fs_unmark_valid(ext2_filsys fs)
10716 fs->flags &= ~0x08;
10722 extern __inline__ int ext2fs_test_valid(ext2_filsys fs)
10724 return (fs->flags & 0x08);
10730 extern __inline__ void ext2fs_mark_ib_dirty(ext2_filsys fs)
10732 fs->flags |= 0x10 | 0x02;
10738 extern __inline__ void ext2fs_mark_bb_dirty(ext2_filsys fs)
10740 fs->flags |= 0x20 | 0x02;
10746 extern __inline__ int ext2fs_test_ib_dirty(ext2_filsys fs)
10748 return (fs->flags & 0x10);
10754 extern __inline__ int ext2fs_test_bb_dirty(ext2_filsys fs)
10756 return (fs->flags & 0x20);
10762 extern __inline__ int ext2fs_group_of_blk(ext2_filsys fs, blk_t blk)
10764 return (blk - fs->super->s_first_data_block) /
10765 fs->super->s_blocks_per_group;
10771 extern __inline__ int ext2fs_group_of_ino(ext2_filsys fs, ext2_ino_t ino)
10773 return (ino - 1) / fs->super->s_inodes_per_group;
10779 extern __inline__ blk_t ext2fs_group_first_block(ext2_filsys fs, dgrp_t group)
10781 return fs->super->s_first_data_block +
10782 (group * fs->super->s_blocks_per_group);
10788 extern __inline__ blk_t ext2fs_group_last_block(ext2_filsys fs, dgrp_t group)
10790 return (group == fs->group_desc_count - 1 ?
10791 fs->super->s_blocks_count - 1 :
10792 ext2fs_group_first_block(fs, group) +
10793 (fs->super->s_blocks_per_group - 1));
10796 extern __inline__ blk_t ext2fs_inode_data_blocks(ext2_filsys fs,
10797 struct ext2_inode *inode)
10799 return inode->i_blocks -
10800 (inode->i_file_acl ? fs->blocksize >> 9 : 0);
10806 extern __inline__ unsigned int ext2fs_div_ceil(unsigned int a, unsigned int b)
10810 return ((a - 1) / b) + 1;
10814 # 1 "../lib/blkid/blkid.h" 1
10815 # 14 "../lib/blkid/blkid.h"
10816 #define _BLKID_BLKID_H
10819 # 1 "../lib/blkid/blkid_types.h" 1
10820 # 18 "../lib/blkid/blkid.h" 2
10826 #define BLKID_VERSION "1.0.0"
10827 #define BLKID_DATE "12-Feb-2003"
10829 typedef struct blkid_struct_dev *blkid_dev;
10830 typedef struct blkid_struct_cache *blkid_cache;
10831 typedef __s64 blkid_loff_t;
10833 typedef struct blkid_struct_tag_iterate *blkid_tag_iterate;
10834 typedef struct blkid_struct_dev_iterate *blkid_dev_iterate;
10835 # 45 "../lib/blkid/blkid.h"
10836 #define BLKID_DEV_FIND 0x0000
10837 #define BLKID_DEV_CREATE 0x0001
10838 #define BLKID_DEV_VERIFY 0x0002
10839 #define BLKID_DEV_NORMAL (BLKID_DEV_CREATE | BLKID_DEV_VERIFY)
10842 extern void blkid_put_cache(blkid_cache cache);
10843 extern int blkid_get_cache(blkid_cache *cache, const char *filename);
10844 extern void blkid_gc_cache(blkid_cache cache);
10847 extern const char *blkid_dev_devname(blkid_dev dev);
10849 extern blkid_dev_iterate blkid_dev_iterate_begin(blkid_cache cache);
10850 extern int blkid_dev_set_search(blkid_dev_iterate iter,
10851 char *search_type, char *search_value);
10852 extern int blkid_dev_next(blkid_dev_iterate iterate, blkid_dev *dev);
10853 extern void blkid_dev_iterate_end(blkid_dev_iterate iterate);
10856 extern char *blkid_devno_to_devname(dev_t devno);
10859 extern int blkid_probe_all(blkid_cache cache);
10860 extern int blkid_probe_all_new(blkid_cache cache);
10861 extern blkid_dev blkid_get_dev(blkid_cache cache, const char *devname,
10865 extern blkid_loff_t blkid_get_dev_size(int fd);
10868 int blkid_known_fstype(const char *fstype);
10869 extern blkid_dev blkid_verify(blkid_cache cache, blkid_dev dev);
10874 extern char *blkid_get_tag_value(blkid_cache cache, const char *tagname,
10875 const char *devname);
10876 extern char *blkid_get_devname(blkid_cache cache, const char *token,
10877 const char *value);
10880 extern blkid_tag_iterate blkid_tag_iterate_begin(blkid_dev dev);
10881 extern int blkid_tag_next(blkid_tag_iterate iterate,
10882 const char **type, const char **value);
10883 extern void blkid_tag_iterate_end(blkid_tag_iterate iterate);
10884 extern int blkid_dev_has_tag(blkid_dev dev, const char *type,
10885 const char *value);
10886 extern blkid_dev blkid_find_dev_with_tag(blkid_cache cache,
10888 const char *value);
10889 extern int blkid_parse_tag_string(const char *token, char **ret_type,
10893 extern int blkid_parse_version_string(const char *ver_string);
10894 extern int blkid_get_library_version(const char **ver_string,
10895 const char **date_string);
10903 typedef struct _profile_t *profile_t;
10905 typedef void (*profile_syntax_err_cb_t)(const char *file, long err,
10911 #define PROFILE_ITER_LIST_SECTION 0x0001
10912 #define PROFILE_ITER_SECTIONS_ONLY 0x0002
10913 #define PROFILE_ITER_RELATIONS_ONLY 0x0004
10920 (const char * *files, profile_t *ret_profile);
10922 void profile_release
10923 (profile_t profile);
10925 long profile_set_default
10926 (profile_t profile, const char *def_string);
10928 long profile_get_string
10929 (profile_t profile, const char *name, const char *subname,
10930 const char *subsubname, const char *def_val,
10931 char **ret_string);
10932 long profile_get_integer
10933 (profile_t profile, const char *name, const char *subname,
10934 const char *subsubname, int def_val,
10937 long profile_get_uint
10938 (profile_t profile, const char *name, const char *subname,
10939 const char *subsubname, unsigned int def_val,
10940 unsigned int *ret_int);
10942 long profile_get_boolean
10943 (profile_t profile, const char *name, const char *subname,
10944 const char *subsubname, int def_val,
10947 long profile_iterator_create
10948 (profile_t profile, const char *const *names,
10949 int flags, void **ret_iter);
10951 void profile_iterator_free
10954 long profile_iterator
10955 (void **iter_p, char **ret_name, char **ret_value);
10957 profile_syntax_err_cb_t profile_set_syntax_err_cb(profile_syntax_err_cb_t hook);
10964 #define PROF_VERSION (-1429577728L)
10965 #define PROF_MAGIC_NODE (-1429577727L)
10966 #define PROF_NO_SECTION (-1429577726L)
10967 #define PROF_NO_RELATION (-1429577725L)
10968 #define PROF_ADD_NOT_SECTION (-1429577724L)
10969 #define PROF_SECTION_WITH_VALUE (-1429577723L)
10970 #define PROF_BAD_LINK_LIST (-1429577722L)
10971 #define PROF_BAD_GROUP_LVL (-1429577721L)
10972 #define PROF_BAD_PARENT_PTR (-1429577720L)
10973 #define PROF_MAGIC_ITERATOR (-1429577719L)
10974 #define PROF_SET_SECTION_VALUE (-1429577718L)
10975 #define PROF_EINVAL (-1429577717L)
10976 #define PROF_READ_ONLY (-1429577716L)
10977 #define PROF_SECTION_NOTOP (-1429577715L)
10978 #define PROF_SECTION_SYNTAX (-1429577714L)
10979 #define PROF_RELATION_SYNTAX (-1429577713L)
10980 #define PROF_EXTRA_CBRACE (-1429577712L)
10981 #define PROF_MISSING_OBRACE (-1429577711L)
10982 #define PROF_MAGIC_PROFILE (-1429577710L)
10983 #define PROF_MAGIC_SECTION (-1429577709L)
10984 #define PROF_TOPSECTION_ITER_NOSUPP (-1429577708L)
10985 #define PROF_INVALID_SECTION (-1429577707L)
10986 #define PROF_END_OF_SECTIONS (-1429577706L)
10987 #define PROF_BAD_NAMESET (-1429577705L)
10988 #define PROF_NO_PROFILE (-1429577704L)
10989 #define PROF_MAGIC_FILE (-1429577703L)
10990 #define PROF_FAIL_OPEN (-1429577702L)
10991 #define PROF_EXISTS (-1429577701L)
10992 #define PROF_BAD_BOOLEAN (-1429577700L)
10993 #define PROF_BAD_INTEGER (-1429577699L)
10994 #define PROF_MAGIC_FILE_DATA (-1429577698L)
10995 extern void initialize_prof_error_table(void);
10996 #define ERROR_TABLE_BASE_prof (-1429577728L)
10999 #define init_prof_err_tbl initialize_prof_error_table
11000 #define prof_err_base ERROR_TABLE_BASE_prof
11003 #define ERROR_TABLE_BASE_prof (-1429577728L)
11004 #define init_prof_err_tbl initialize_prof_error_table
11005 #define initialize_prof_error_table initialize_prof_error_table
11006 #define prof_err_base ERROR_TABLE_BASE_prof
11010 # 1 "/usr/include/libintl.h" 1 3 4
11011 # 22 "/usr/include/libintl.h" 3 4
11012 #define _LIBINTL_H 1
11018 #define __USE_GNU_GETTEXT 1
11022 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 1 : -1)
11030 extern char *gettext (__const char *__msgid)
11031 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (1)));
11035 extern char *dgettext (__const char *__domainname, __const char *__msgid)
11036 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));
11037 extern char *__dgettext (__const char *__domainname, __const char *__msgid)
11038 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));
11042 extern char *dcgettext (__const char *__domainname,
11043 __const char *__msgid, int __category)
11044 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));
11045 extern char *__dcgettext (__const char *__domainname,
11046 __const char *__msgid, int __category)
11047 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2)));
11052 extern char *ngettext (__const char *__msgid1, __const char *__msgid2,
11053 unsigned long int __n)
11054 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2)));
11058 extern char *dngettext (__const char *__domainname, __const char *__msgid1,
11059 __const char *__msgid2, unsigned long int __n)
11060 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
11064 extern char *dcngettext (__const char *__domainname, __const char *__msgid1,
11065 __const char *__msgid2, unsigned long int __n,
11067 __attribute__ ((__nothrow__)) __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
11073 extern char *textdomain (__const char *__domainname) __attribute__ ((__nothrow__));
11077 extern char *bindtextdomain (__const char *__domainname,
11078 __const char *__dirname) __attribute__ ((__nothrow__));
11082 extern char *bind_textdomain_codeset (__const char *__domainname,
11083 __const char *__codeset) __attribute__ ((__nothrow__));
11090 #define __need_NULL
11091 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
11092 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
11093 #undef __need_ptrdiff_t
11094 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
11095 #undef __need_size_t
11096 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
11097 #undef __need_wchar_t
11098 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
11104 #define NULL ((void *)0)
11115 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
11116 # 102 "/usr/include/libintl.h" 2 3 4
11119 # 1 "/usr/include/locale.h" 1 3 4
11120 # 24 "/usr/include/locale.h" 3 4
11121 #define _LOCALE_H 1
11125 #define __need_NULL
11126 # 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
11127 # 163 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
11128 #undef __need_ptrdiff_t
11129 # 236 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
11130 #undef __need_size_t
11131 # 345 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
11132 #undef __need_wchar_t
11133 # 398 "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
11139 #define NULL ((void *)0)
11150 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
11151 # 30 "/usr/include/locale.h" 2 3 4
11152 # 1 "/usr/include/bits/locale.h" 1 3 4
11153 # 25 "/usr/include/bits/locale.h" 3 4
11154 #define _BITS_LOCALE_H 1
11168 __LC_TELEPHONE = 10,
11169 __LC_MEASUREMENT = 11,
11170 __LC_IDENTIFICATION = 12
11172 # 31 "/usr/include/locale.h" 2 3 4
11178 #define LC_CTYPE __LC_CTYPE
11179 #define LC_NUMERIC __LC_NUMERIC
11180 #define LC_TIME __LC_TIME
11181 #define LC_COLLATE __LC_COLLATE
11182 #define LC_MONETARY __LC_MONETARY
11183 #define LC_MESSAGES __LC_MESSAGES
11184 #define LC_ALL __LC_ALL
11185 #define LC_PAPER __LC_PAPER
11186 #define LC_NAME __LC_NAME
11187 #define LC_ADDRESS __LC_ADDRESS
11188 #define LC_TELEPHONE __LC_TELEPHONE
11189 #define LC_MEASUREMENT __LC_MEASUREMENT
11190 #define LC_IDENTIFICATION __LC_IDENTIFICATION
11200 char *decimal_point;
11201 char *thousands_sep;
11213 char *int_curr_symbol;
11214 char *currency_symbol;
11215 char *mon_decimal_point;
11216 char *mon_thousands_sep;
11217 char *mon_grouping;
11218 char *positive_sign;
11219 char *negative_sign;
11220 char int_frac_digits;
11223 char p_cs_precedes;
11225 char p_sep_by_space;
11227 char n_cs_precedes;
11229 char n_sep_by_space;
11238 # 114 "/usr/include/locale.h" 3 4
11239 char __int_p_cs_precedes;
11240 char __int_p_sep_by_space;
11241 char __int_n_cs_precedes;
11242 char __int_n_sep_by_space;
11243 char __int_p_sign_posn;
11244 char __int_n_sign_posn;
11250 extern char *setlocale (int __category, __const char *__locale) __attribute__ ((__nothrow__));
11253 extern struct lconv *localeconv (void) __attribute__ ((__nothrow__));
11256 # 208 "/usr/include/locale.h" 3 4
11258 # 105 "/usr/include/libintl.h" 2 3 4
11264 #define gettext(msgid) dgettext (NULL, msgid)
11266 #define dgettext(domainname,msgid) dcgettext (domainname, msgid, LC_MESSAGES)
11269 #define ngettext(msgid1,msgid2,n) dngettext (NULL, msgid1, msgid2, n)
11271 #define dngettext(domainname,msgid1,msgid2,n) dcngettext (domainname, msgid1, msgid2, n, LC_MESSAGES)
11279 #define _(a) (gettext (a))
11285 #define P_(singular,plural,n) (ngettext (singular, plural, n))
11287 #define NLS_CAT_NAME "e2fsprogs"
11290 #define FSCK_NONDESTRUCT 1
11291 #define FSCK_REBOOT 2
11292 #define FSCK_UNCORRECTED 4
11293 #define FSCK_ERROR 8
11294 #define FSCK_USAGE 16
11295 #define FSCK_CANCELED 32
11296 #define FSCK_LIBRARY 128
11302 #define E2FSCK_CURRENT_REV 1
11320 struct dx_dir_info {
11325 struct dx_dirblock_info *dx_block;
11328 #define DX_DIRBLOCK_ROOT 1
11329 #define DX_DIRBLOCK_LEAF 2
11330 #define DX_DIRBLOCK_NODE 3
11331 #define DX_DIRBLOCK_CORRUPT 4
11332 #define DX_DIRBLOCK_CLEARED 8
11334 struct dx_dirblock_info {
11339 ext2_dirhash_t min_hash;
11340 ext2_dirhash_t max_hash;
11341 ext2_dirhash_t node_min_hash;
11342 ext2_dirhash_t node_max_hash;
11345 #define DX_FLAG_REFERENCED 1
11346 #define DX_FLAG_DUP_REF 2
11347 #define DX_FLAG_FIRST 4
11348 #define DX_FLAG_LAST 8
11355 struct resource_track {
11356 struct timeval time_start;
11357 struct timeval user_start;
11358 struct timeval system_start;
11366 #define E2F_OPT_READONLY 0x0001
11367 #define E2F_OPT_PREEN 0x0002
11368 #define E2F_OPT_YES 0x0004
11369 #define E2F_OPT_NO 0x0008
11370 #define E2F_OPT_TIME 0x0010
11371 #define E2F_OPT_TIME2 0x0020
11372 #define E2F_OPT_CHECKBLOCKS 0x0040
11373 #define E2F_OPT_DEBUG 0x0080
11374 #define E2F_OPT_FORCE 0x0100
11375 #define E2F_OPT_WRITECHECK 0x0200
11376 #define E2F_OPT_COMPRESS_DIRS 0x0400
11381 #define E2F_FLAG_ABORT 0x0001
11382 #define E2F_FLAG_CANCEL 0x0002
11383 #define E2F_FLAG_SIGNAL_MASK 0x0003
11384 #define E2F_FLAG_RESTART 0x0004
11386 #define E2F_FLAG_SETJMP_OK 0x0010
11388 #define E2F_FLAG_PROG_BAR 0x0020
11389 #define E2F_FLAG_PROG_SUPPRESS 0x0040
11390 #define E2F_FLAG_JOURNAL_INODE 0x0080
11391 #define E2F_FLAG_SB_SPECIFIED 0x0100
11393 #define E2F_FLAG_RESTARTED 0x0200
11394 #define E2F_FLAG_RESIZE_INODE 0x0400
11395 #define E2F_FLAG_GOT_DEVSIZE 0x0800
11400 #define E2F_PASS_1 1
11401 #define E2F_PASS_2 2
11402 #define E2F_PASS_3 3
11403 #define E2F_PASS_4 4
11404 #define E2F_PASS_5 5
11405 #define E2F_PASS_1B 6
11410 typedef struct ea_refcount *ext2_refcount_t;
11415 typedef struct e2fsck_struct *e2fsck_t;
11417 struct e2fsck_struct {
11419 const char *program_name;
11420 char *filesystem_name;
11425 blk_t use_superblock;
11435 unsigned long abort_code;
11437 int (*progress)(e2fsck_t ctx, int pass, unsigned long cur,
11438 unsigned long max);
11440 ext2fs_inode_bitmap inode_used_map;
11441 ext2fs_inode_bitmap inode_bad_map;
11442 ext2fs_inode_bitmap inode_dir_map;
11443 ext2fs_inode_bitmap inode_bb_map;
11444 ext2fs_inode_bitmap inode_imagic_map;
11445 ext2fs_inode_bitmap inode_reg_map;
11447 ext2fs_block_bitmap block_found_map;
11448 ext2fs_block_bitmap block_dup_map;
11449 ext2fs_block_bitmap block_ea_map;
11454 ext2_icount_t inode_count;
11455 ext2_icount_t inode_link_info;
11457 ext2_refcount_t refcount;
11458 ext2_refcount_t refcount_extra;
11464 int *invalid_inode_bitmap_flag;
11465 int *invalid_block_bitmap_flag;
11466 int *invalid_inode_table_flag;
11467 int invalid_bitmaps;
11477 ext2_ino_t stashed_ino;
11478 struct ext2_inode *stashed_inode;
11483 ext2_ino_t lost_and_found;
11484 int bad_lost_and_found;
11489 struct dir_info_db *dir_info;
11494 int dx_dir_info_count;
11495 int dx_dir_info_size;
11496 struct dx_dir_info *dx_dir_info;
11501 ext2_u32_list dirs_to_hash;
11506 int process_inode_size;
11507 int inode_buffer_blocks;
11512 io_channel journal_io;
11513 char *journal_name;
11519 struct resource_track global_rtrack;
11527 int progress_last_percent;
11528 unsigned int progress_last_time;
11530 char start_meta[2], stop_meta[2];
11533 __u32 fs_directory_count;
11534 __u32 fs_regular_count;
11535 __u32 fs_blockdev_count;
11536 __u32 fs_chardev_count;
11537 __u32 fs_links_count;
11538 __u32 fs_symlinks_count;
11539 __u32 fs_fast_symlinks_count;
11540 __u32 fs_fifo_count;
11541 __u32 fs_total_count;
11542 __u32 fs_badblocks_count;
11543 __u32 fs_sockets_count;
11544 __u32 fs_ind_count;
11545 __u32 fs_dind_count;
11546 __u32 fs_tind_count;
11547 __u32 fs_fragmented;
11549 __u32 fs_ext_attr_inodes;
11550 __u32 fs_ext_attr_blocks;
11557 int blocks_per_page;
11567 typedef __u32 region_addr_t;
11568 typedef struct region_struct *region_t;
11570 extern void e2fsck_pass1(e2fsck_t ctx);
11571 extern void e2fsck_pass1_dupblocks(e2fsck_t ctx, char *block_buf);
11572 extern void e2fsck_pass2(e2fsck_t ctx);
11573 extern void e2fsck_pass3(e2fsck_t ctx);
11574 extern void e2fsck_pass4(e2fsck_t ctx);
11575 extern void e2fsck_pass5(e2fsck_t ctx);
11578 extern errcode_t e2fsck_allocate_context(e2fsck_t *ret);
11579 extern errcode_t e2fsck_reset_context(e2fsck_t ctx);
11580 extern void e2fsck_free_context(e2fsck_t ctx);
11581 extern int e2fsck_run(e2fsck_t ctx);
11585 extern void read_bad_blocks_file(e2fsck_t ctx, const char *bad_blocks_file,
11586 int replace_bad_blocks);
11589 extern void e2fsck_add_dir_info(e2fsck_t ctx, ext2_ino_t ino, ext2_ino_t parent);
11590 extern void e2fsck_free_dir_info(e2fsck_t ctx);
11591 extern int e2fsck_get_num_dirinfo(e2fsck_t ctx);
11592 extern struct dir_info_iter *e2fsck_dir_info_iter_begin(e2fsck_t ctx);
11593 extern struct dir_info *e2fsck_dir_info_iter(e2fsck_t ctx,
11594 struct dir_info_iter *);
11595 extern void e2fsck_dir_info_iter_end(e2fsck_t ctx, struct dir_info_iter *);
11596 extern int e2fsck_dir_info_set_parent(e2fsck_t ctx, ext2_ino_t ino,
11597 ext2_ino_t parent);
11598 extern int e2fsck_dir_info_set_dotdot(e2fsck_t ctx, ext2_ino_t ino,
11599 ext2_ino_t dotdot);
11600 extern int e2fsck_dir_info_get_parent(e2fsck_t ctx, ext2_ino_t ino,
11601 ext2_ino_t *parent);
11602 extern int e2fsck_dir_info_get_dotdot(e2fsck_t ctx, ext2_ino_t ino,
11603 ext2_ino_t *dotdot);
11606 extern void e2fsck_add_dx_dir(e2fsck_t ctx, ext2_ino_t ino, int num_blocks);
11607 extern struct dx_dir_info *e2fsck_get_dx_dir_info(e2fsck_t ctx, ext2_ino_t ino);
11608 extern void e2fsck_free_dx_dir_info(e2fsck_t ctx);
11609 extern int e2fsck_get_num_dx_dirinfo(e2fsck_t ctx);
11610 extern struct dx_dir_info *e2fsck_dx_dir_info_iter(e2fsck_t ctx, int *control);
11613 extern errcode_t ea_refcount_create(int size, ext2_refcount_t *ret);
11614 extern void ea_refcount_free(ext2_refcount_t refcount);
11615 extern errcode_t ea_refcount_fetch(ext2_refcount_t refcount, blk_t blk,
11617 extern errcode_t ea_refcount_increment(ext2_refcount_t refcount,
11618 blk_t blk, int *ret);
11619 extern errcode_t ea_refcount_decrement(ext2_refcount_t refcount,
11620 blk_t blk, int *ret);
11621 extern errcode_t ea_refcount_store(ext2_refcount_t refcount,
11622 blk_t blk, int count);
11623 extern blk_t ext2fs_get_refcount_size(ext2_refcount_t refcount);
11624 extern void ea_refcount_intr_begin(ext2_refcount_t refcount);
11625 extern blk_t ea_refcount_intr_next(ext2_refcount_t refcount, int *ret);
11628 extern const char *ehandler_operation(const char *op);
11629 extern void ehandler_init(io_channel channel);
11632 extern int e2fsck_check_ext3_journal(e2fsck_t ctx);
11633 extern int e2fsck_run_ext3_journal(e2fsck_t ctx);
11634 extern void e2fsck_move_ext3_journal(e2fsck_t ctx);
11635 extern int e2fsck_fix_ext3_journal_hint(e2fsck_t ctx);
11638 extern void e2fsck_setup_tdb_icount(e2fsck_t ctx, int flags,
11639 ext2_icount_t *ret);
11640 extern void e2fsck_use_inode_shortcuts(e2fsck_t ctx, int bool);
11641 extern int e2fsck_pass1_check_device_inode(ext2_filsys fs,
11642 struct ext2_inode *inode);
11643 extern int e2fsck_pass1_check_symlink(ext2_filsys fs,
11644 struct ext2_inode *inode, char *buf);
11647 extern int e2fsck_process_bad_inode(e2fsck_t ctx, ext2_ino_t dir,
11648 ext2_ino_t ino, char *buf);
11651 extern int e2fsck_reconnect_file(e2fsck_t ctx, ext2_ino_t inode);
11652 extern errcode_t e2fsck_expand_directory(e2fsck_t ctx, ext2_ino_t dir,
11653 int num, int gauranteed_size);
11654 extern ext2_ino_t e2fsck_get_lost_and_found(e2fsck_t ctx, int fix);
11655 extern errcode_t e2fsck_adjust_inode_count(e2fsck_t ctx, ext2_ino_t ino,
11660 extern region_t region_create(region_addr_t min, region_addr_t max);
11661 extern void region_free(region_t region);
11662 extern int region_allocate(region_t region, region_addr_t start, int n);
11665 errcode_t e2fsck_rehash_dir(e2fsck_t ctx, ext2_ino_t ino);
11666 void e2fsck_rehash_directories(e2fsck_t ctx);
11669 void check_super_block(e2fsck_t ctx);
11670 int check_backup_super_block(e2fsck_t ctx);
11673 void swap_filesys(e2fsck_t ctx);
11676 extern void *e2fsck_allocate_memory(e2fsck_t ctx, unsigned int size,
11677 const char *description);
11678 extern int ask(e2fsck_t ctx, const char * string, int def);
11679 extern int ask_yn(const char * string, int def);
11680 extern void fatal_error(e2fsck_t ctx, const char * fmt_string);
11681 extern void e2fsck_read_bitmaps(e2fsck_t ctx);
11682 extern void e2fsck_write_bitmaps(e2fsck_t ctx);
11683 extern void preenhalt(e2fsck_t ctx);
11684 extern char *string_copy(e2fsck_t ctx, const char *str, int len);
11686 extern void print_resource_track(const char *desc,
11687 struct resource_track *track);
11688 extern void init_resource_track(struct resource_track *track);
11690 extern int inode_has_valid_blocks(struct ext2_inode *inode);
11691 extern void e2fsck_read_inode(e2fsck_t ctx, unsigned long ino,
11692 struct ext2_inode * inode, const char * proc);
11693 extern void e2fsck_write_inode(e2fsck_t ctx, unsigned long ino,
11694 struct ext2_inode * inode, const char * proc);
11695 extern void e2fsck_write_inode_full(e2fsck_t ctx, unsigned long ino,
11696 struct ext2_inode * inode, int bufsize,
11701 extern blk_t get_backup_sb(e2fsck_t ctx, ext2_filsys fs,
11702 const char *name, io_manager manager);
11703 extern int ext2_file_type(unsigned int mode);
11706 extern void e2fsck_clear_progbar(e2fsck_t ctx);
11707 extern int e2fsck_simple_progress(e2fsck_t ctx, const char *label,
11708 float percent, unsigned int dpynum);
11712 typedef __u32 problem_t;
11714 struct problem_context {
11716 ext2_ino_t ino, ino2, dir;
11717 struct ext2_inode *inode;
11718 struct ext2_dir_entry *dirent;
11720 e2_blkcnt_t blkcount;
11731 #define PR_LATCH_MASK 0x0ff0
11732 #define PR_LATCH_BLOCK 0x0010
11733 #define PR_LATCH_BBLOCK 0x0020
11734 #define PR_LATCH_IBITMAP 0x0030
11735 #define PR_LATCH_BBITMAP 0x0040
11736 #define PR_LATCH_RELOC 0x0050
11737 #define PR_LATCH_DBLOCK 0x0060
11738 #define PR_LATCH_LOW_DTIME 0x0070
11739 #define PR_LATCH_TOOBIG 0x0080
11740 #define PR_LATCH_OPTIMIZE_DIR 0x0090
11742 #define PR_LATCH(x) ((((x) & PR_LATCH_MASK) >> 4) - 1)
11747 #define PRL_YES 0x0001
11748 #define PRL_NO 0x0002
11749 #define PRL_LATCHED 0x0004
11750 #define PRL_SUPPRESS 0x0008
11752 #define PRL_VARIABLE 0x000f
11759 #define PR_0_BB_NOT_GROUP 0x000001
11762 #define PR_0_IB_NOT_GROUP 0x000002
11765 #define PR_0_ITABLE_NOT_GROUP 0x000003
11768 #define PR_0_SB_CORRUPT 0x000004
11771 #define PR_0_FS_SIZE_WRONG 0x000005
11774 #define PR_0_NO_FRAGMENTS 0x000006
11777 #define PR_0_BLOCKS_PER_GROUP 0x000007
11780 #define PR_0_FIRST_DATA_BLOCK 0x000008
11783 #define PR_0_ADD_UUID 0x000009
11786 #define PR_0_RELOCATE_HINT 0x00000A
11789 #define PR_0_MISC_CORRUPT_SUPER 0x00000B
11792 #define PR_0_GETSIZE_ERROR 0x00000C
11795 #define PR_0_INODE_COUNT_WRONG 0x00000D
11798 #define PR_0_HURD_CLEAR_FILETYPE 0x00000E
11801 #define PR_0_JOURNAL_BAD_INODE 0x00000F
11804 #define PR_0_JOURNAL_UNSUPP_MULTIFS 0x000010
11807 #define PR_0_CANT_FIND_JOURNAL 0x000011
11810 #define PR_0_EXT_JOURNAL_BAD_SUPER 0x000012
11813 #define PR_0_JOURNAL_BAD_UUID 0x000013
11816 #define PR_0_JOURNAL_UNSUPP_SUPER 0x000014
11819 #define PR_0_JOURNAL_BAD_SUPER 0x000015
11822 #define PR_0_JOURNAL_HAS_JOURNAL 0x000016
11825 #define PR_0_JOURNAL_RECOVER_SET 0x000017
11828 #define PR_0_JOURNAL_RECOVERY_CLEAR 0x000018
11831 #define PR_0_JOURNAL_RESET_JOURNAL 0x000019
11834 #define PR_0_FS_REV_LEVEL 0x00001A
11837 #define PR_0_ORPHAN_CLEAR_INODE 0x000020
11840 #define PR_0_ORPHAN_ILLEGAL_BLOCK_NUM 0x000021
11843 #define PR_0_ORPHAN_ALREADY_CLEARED_BLOCK 0x000022
11846 #define PR_0_ORPHAN_ILLEGAL_HEAD_INODE 0x000023
11849 #define PR_0_ORPHAN_ILLEGAL_INODE 0x000024
11852 #define PR_0_JOURNAL_UNSUPP_ROCOMPAT 0x000025
11855 #define PR_0_JOURNAL_UNSUPP_INCOMPAT 0x000026
11858 #define PR_0_JOURNAL_UNSUPP_VERSION 0x000027
11861 #define PR_0_MOVE_JOURNAL 0x000028
11864 #define PR_0_ERR_MOVE_JOURNAL 0x000029
11867 #define PR_0_CLEAR_V2_JOURNAL 0x00002A
11870 #define PR_0_JOURNAL_RUN 0x00002B
11873 #define PR_0_JOURNAL_RUN_DEFAULT 0x00002C
11876 #define PR_0_BACKUP_JNL 0x00002D
11879 #define PR_0_NONZERO_RESERVED_GDT_BLOCKS 0x00002E
11882 #define PR_0_CLEAR_RESIZE_INODE 0x00002F
11885 #define PR_0_RESIZE_INODE_INVALID 0x000030
11888 #define PR_0_FUTURE_SB_LAST_MOUNT 0x000031
11891 #define PR_0_FUTURE_SB_LAST_WRITE 0x000032
11894 #define PR_0_EXTERNAL_JOURNAL_HINT 0x000033
11897 #define PR_0_DIRHASH_HINT 0x000034
11904 #define PR_1_PASS_HEADER 0x010000
11907 #define PR_1_ROOT_NO_DIR 0x010001
11910 #define PR_1_ROOT_DTIME 0x010002
11913 #define PR_1_RESERVED_BAD_MODE 0x010003
11916 #define PR_1_ZERO_DTIME 0x010004
11919 #define PR_1_SET_DTIME 0x010005
11922 #define PR_1_ZERO_LENGTH_DIR 0x010006
11925 #define PR_1_BB_CONFLICT 0x010007
11928 #define PR_1_IB_CONFLICT 0x010008
11931 #define PR_1_ITABLE_CONFLICT 0x010009
11934 #define PR_1_BB_BAD_BLOCK 0x01000A
11937 #define PR_1_IB_BAD_BLOCK 0x01000B
11940 #define PR_1_BAD_I_SIZE 0x01000C
11943 #define PR_1_BAD_I_BLOCKS 0x01000D
11946 #define PR_1_ILLEGAL_BLOCK_NUM 0x01000E
11949 #define PR_1_BLOCK_OVERLAPS_METADATA 0x01000F
11952 #define PR_1_INODE_BLOCK_LATCH 0x010010
11955 #define PR_1_TOO_MANY_BAD_BLOCKS 0x010011
11958 #define PR_1_BB_ILLEGAL_BLOCK_NUM 0x010012
11961 #define PR_1_INODE_BBLOCK_LATCH 0x010013
11964 #define PR_1_DUP_BLOCKS_PREENSTOP 0x010014
11967 #define PR_1_BBINODE_BAD_METABLOCK 0x010015
11970 #define PR_1_BBINODE_BAD_METABLOCK_PROMPT 0x010016
11973 #define PR_1_BAD_PRIMARY_BLOCK 0x010017
11976 #define PR_1_BAD_PRIMARY_BLOCK_PROMPT 0x010018
11979 #define PR_1_BAD_PRIMARY_SUPERBLOCK 0x010019
11982 #define PR_1_BAD_PRIMARY_GROUP_DESCRIPTOR 0x01001A
11985 #define PR_1_BAD_SUPERBLOCK 0x01001B
11988 #define PR_1_BAD_GROUP_DESCRIPTORS 0x01001C
11991 #define PR_1_PROGERR_CLAIMED_BLOCK 0x01001D
11994 #define PR_1_RELOC_BLOCK_ALLOCATE 0x01001E
11997 #define PR_1_RELOC_MEMORY_ALLOCATE 0x01001F
12000 #define PR_1_RELOC_FROM_TO 0x010020
12003 #define PR_1_RELOC_TO 0x010021
12006 #define PR_1_RELOC_READ_ERR 0x010022
12009 #define PR_1_RELOC_WRITE_ERR 0x010023
12012 #define PR_1_ALLOCATE_IBITMAP_ERROR 0x010024
12015 #define PR_1_ALLOCATE_BBITMAP_ERROR 0x010025
12018 #define PR_1_ALLOCATE_ICOUNT 0x010026
12021 #define PR_1_ALLOCATE_DBCOUNT 0x010027
12024 #define PR_1_ISCAN_ERROR 0x010028
12027 #define PR_1_BLOCK_ITERATE 0x010029
12030 #define PR_1_ICOUNT_STORE 0x01002A
12033 #define PR_1_ADD_DBLOCK 0x01002B
12036 #define PR_1_READ_INODE 0x01002C
12039 #define PR_1_SUPPRESS_MESSAGES 0x01002D
12042 #define PR_1_SET_IMAGIC 0x01002F
12045 #define PR_1_SET_IMMUTABLE 0x010030
12048 #define PR_1_COMPR_SET 0x010031
12051 #define PR_1_SET_NONZSIZE 0x010032
12054 #define PR_1_FS_REV_LEVEL 0x010033
12057 #define PR_1_JOURNAL_INODE_NOT_CLEAR 0x010034
12060 #define PR_1_JOURNAL_BAD_MODE 0x010035
12063 #define PR_1_LOW_DTIME 0x010036
12066 #define PR_1_ORPHAN_LIST_REFUGEES 0x010037
12069 #define PR_1_ALLOCATE_REFCOUNT 0x010038
12072 #define PR_1_READ_EA_BLOCK 0x010039
12075 #define PR_1_BAD_EA_BLOCK 0x01003A
12078 #define PR_1_EXTATTR_READ_ABORT 0x01003B
12081 #define PR_1_EXTATTR_REFCOUNT 0x01003C
12084 #define PR_1_EXTATTR_WRITE 0x01003D
12087 #define PR_1_EA_MULTI_BLOCK 0x01003E
12090 #define PR_1_EA_ALLOC_REGION 0x01003F
12093 #define PR_1_EA_ALLOC_COLLISION 0x010040
12096 #define PR_1_EA_BAD_NAME 0x010041
12099 #define PR_1_EA_BAD_VALUE 0x010042
12102 #define PR_1_INODE_TOOBIG 0x010043
12105 #define PR_1_TOOBIG_DIR 0x010044
12108 #define PR_1_TOOBIG_REG 0x010045
12111 #define PR_1_TOOBIG_SYMLINK 0x010046
12114 #define PR_1_HTREE_SET 0x010047
12117 #define PR_1_HTREE_NODIR 0x010048
12120 #define PR_1_HTREE_BADROOT 0x010049
12123 #define PR_1_HTREE_HASHV 0x01004A
12126 #define PR_1_HTREE_INCOMPAT 0x01004B
12129 #define PR_1_HTREE_DEPTH 0x01004C
12132 #define PR_1_BB_FS_BLOCK 0x01004D
12135 #define PR_1_RESIZE_INODE_CREATE 0x01004E
12138 #define PR_1_EXTRA_ISIZE 0x01004F
12141 #define PR_1_ATTR_NAME_LEN 0x010050
12144 #define PR_1_ATTR_VALUE_OFFSET 0x010051
12147 #define PR_1_ATTR_VALUE_BLOCK 0x010052
12150 #define PR_1_ATTR_VALUE_SIZE 0x010053
12153 #define PR_1_ATTR_HASH 0x010054
12156 #define PR_1_TREAT_AS_DIRECTORY 0x010055
12163 #define PR_1B_PASS_HEADER 0x011000
12166 #define PR_1B_DUP_BLOCK_HEADER 0x011001
12169 #define PR_1B_DUP_BLOCK 0x011002
12172 #define PR_1B_DUP_BLOCK_END 0x011003
12175 #define PR_1B_ISCAN_ERROR 0x011004
12178 #define PR_1B_ALLOCATE_IBITMAP_ERROR 0x011005
12181 #define PR_1B_BLOCK_ITERATE 0x0110006
12184 #define PR_1B_ADJ_EA_REFCOUNT 0x0110007
12188 #define PR_1C_PASS_HEADER 0x012000
12192 #define PR_1D_PASS_HEADER 0x013000
12195 #define PR_1D_DUP_FILE 0x013001
12198 #define PR_1D_DUP_FILE_LIST 0x013002
12201 #define PR_1D_SHARE_METADATA 0x013003
12204 #define PR_1D_NUM_DUP_INODES 0x013004
12207 #define PR_1D_DUP_BLOCKS_DEALT 0x013005
12210 #define PR_1D_CLONE_QUESTION 0x013006
12213 #define PR_1D_DELETE_QUESTION 0x013007
12216 #define PR_1D_CLONE_ERROR 0x013008
12223 #define PR_2_PASS_HEADER 0x020000
12226 #define PR_2_BAD_INODE_DOT 0x020001
12229 #define PR_2_BAD_INO 0x020002
12232 #define PR_2_UNUSED_INODE 0x020003
12235 #define PR_2_LINK_DOT 0x020004
12238 #define PR_2_BB_INODE 0x020005
12241 #define PR_2_LINK_DIR 0x020006
12244 #define PR_2_LINK_ROOT 0x020007
12247 #define PR_2_BAD_NAME 0x020008
12250 #define PR_2_MISSING_DOT 0x020009
12253 #define PR_2_MISSING_DOT_DOT 0x02000A
12256 #define PR_2_1ST_NOT_DOT 0x02000B
12259 #define PR_2_2ND_NOT_DOT_DOT 0x02000C
12262 #define PR_2_FADDR_ZERO 0x02000D
12265 #define PR_2_FILE_ACL_ZERO 0x02000E
12268 #define PR_2_DIR_ACL_ZERO 0x02000F
12271 #define PR_2_FRAG_ZERO 0x020010
12274 #define PR_2_FSIZE_ZERO 0x020011
12277 #define PR_2_BAD_MODE 0x020012
12280 #define PR_2_DIR_CORRUPTED 0x020013
12283 #define PR_2_FILENAME_LONG 0x020014
12286 #define PR_2_DIRECTORY_HOLE 0x020015
12289 #define PR_2_DOT_NULL_TERM 0x020016
12292 #define PR_2_DOT_DOT_NULL_TERM 0x020017
12295 #define PR_2_BAD_CHAR_DEV 0x020018
12298 #define PR_2_BAD_BLOCK_DEV 0x020019
12301 #define PR_2_DUP_DOT 0x02001A
12304 #define PR_2_DUP_DOT_DOT 0x02001B
12307 #define PR_2_NO_DIRINFO 0x02001C
12310 #define PR_2_FINAL_RECLEN 0x02001D
12313 #define PR_2_ALLOCATE_ICOUNT 0x02001E
12316 #define PR_2_DBLIST_ITERATE 0x02001F
12319 #define PR_2_READ_DIRBLOCK 0x020020
12322 #define PR_2_WRITE_DIRBLOCK 0x020021
12325 #define PR_2_ALLOC_DIRBOCK 0x020022
12328 #define PR_2_DEALLOC_INODE 0x020023
12331 #define PR_2_SPLIT_DOT 0x020024
12334 #define PR_2_BAD_FIFO 0x020025
12337 #define PR_2_BAD_SOCKET 0x020026
12340 #define PR_2_SET_FILETYPE 0x020027
12343 #define PR_2_BAD_FILETYPE 0x020028
12346 #define PR_2_CLEAR_FILETYPE 0x020029
12349 #define PR_2_NULL_NAME 0x020030
12352 #define PR_2_INVALID_SYMLINK 0x020031
12355 #define PR_2_FILE_ACL_BAD 0x020032
12358 #define PR_2_FEATURE_LARGE_FILES 0x020033
12361 #define PR_2_HTREE_NOTREF 0x020034
12364 #define PR_2_HTREE_DUPREF 0x020035
12367 #define PR_2_HTREE_MIN_HASH 0x020036
12370 #define PR_2_HTREE_MAX_HASH 0x020037
12373 #define PR_2_HTREE_CLEAR 0x020038
12379 #define PR_2_HTREE_BADBLK 0x02003A
12382 #define PR_2_ADJ_EA_REFCOUNT 0x02003B
12385 #define PR_2_HTREE_BAD_ROOT 0x02003C
12388 #define PR_2_HTREE_BAD_LIMIT 0x02003D
12391 #define PR_2_HTREE_BAD_COUNT 0x02003E
12394 #define PR_2_HTREE_HASH_ORDER 0x02003F
12397 #define PR_2_HTREE_BAD_DEPTH 0x020040
12400 #define PR_2_DUPLICATE_DIRENT 0x020041
12403 #define PR_2_NON_UNIQUE_FILE 0x020042
12406 #define PR_2_REPORT_DUP_DIRENT 0x020043
12409 #define PR_2_BLOCKS_HI_ZERO 0x020044
12416 #define PR_3_PASS_HEADER 0x030000
12419 #define PR_3_NO_ROOT_INODE 0x030001
12422 #define PR_3_EXPAND_LF_DIR 0x030002
12425 #define PR_3_UNCONNECTED_DIR 0x030003
12428 #define PR_3_NO_LF_DIR 0x030004
12431 #define PR_3_BAD_DOT_DOT 0x030005
12434 #define PR_3_NO_LPF 0x030006
12437 #define PR_3_CANT_EXPAND_LPF 0x030007
12440 #define PR_3_CANT_RECONNECT 0x030008
12443 #define PR_3_ERR_FIND_LPF 0x030009
12446 #define PR_3_ERR_LPF_NEW_BLOCK 0x03000A
12449 #define PR_3_ERR_LPF_NEW_INODE 0x03000B
12452 #define PR_3_ERR_LPF_NEW_DIR_BLOCK 0x03000C
12455 #define PR_3_ERR_LPF_WRITE_BLOCK 0x03000D
12458 #define PR_3_ADJUST_INODE 0x03000E
12461 #define PR_3_FIX_PARENT_ERR 0x03000F
12464 #define PR_3_FIX_PARENT_NOFIND 0x030010
12467 #define PR_3_ALLOCATE_IBITMAP_ERROR 0x030011
12470 #define PR_3_CREATE_ROOT_ERROR 0x030012
12473 #define PR_3_CREATE_LPF_ERROR 0x030013
12476 #define PR_3_ROOT_NOT_DIR_ABORT 0x030014
12479 #define PR_3_NO_ROOT_INODE_ABORT 0x030015
12482 #define PR_3_NO_DIRINFO 0x030016
12485 #define PR_3_LPF_NOTDIR 0x030017
12491 #define PR_3A_PASS_HEADER 0x031000
12494 #define PR_3A_OPTIMIZE_ITER 0x031001
12497 #define PR_3A_OPTIMIZE_DIR_ERR 0x031002
12500 #define PR_3A_OPTIMIZE_DIR_HEADER 0x031003
12503 #define PR_3A_OPTIMIZE_DIR 0x031004
12506 #define PR_3A_OPTIMIZE_DIR_END 0x031005
12513 #define PR_4_PASS_HEADER 0x040000
12516 #define PR_4_ZERO_LEN_INODE 0x040001
12519 #define PR_4_UNATTACHED_INODE 0x040002
12522 #define PR_4_BAD_REF_COUNT 0x040003
12525 #define PR_4_INCONSISTENT_COUNT 0x040004
12532 #define PR_5_PASS_HEADER 0x050000
12535 #define PR_5_INODE_BMAP_PADDING 0x050001
12538 #define PR_5_BLOCK_BMAP_PADDING 0x050002
12541 #define PR_5_BLOCK_BITMAP_HEADER 0x050003
12544 #define PR_5_BLOCK_UNUSED 0x050004
12547 #define PR_5_BLOCK_USED 0x050005
12550 #define PR_5_BLOCK_BITMAP_END 0x050006
12553 #define PR_5_INODE_BITMAP_HEADER 0x050007
12556 #define PR_5_INODE_UNUSED 0x050008
12559 #define PR_5_INODE_USED 0x050009
12562 #define PR_5_INODE_BITMAP_END 0x05000A
12565 #define PR_5_FREE_INODE_COUNT_GROUP 0x05000B
12568 #define PR_5_FREE_DIR_COUNT_GROUP 0x05000C
12571 #define PR_5_FREE_INODE_COUNT 0x05000D
12574 #define PR_5_FREE_BLOCK_COUNT_GROUP 0x05000E
12577 #define PR_5_FREE_BLOCK_COUNT 0x05000F
12580 #define PR_5_BMAP_ENDPOINTS 0x050010
12583 #define PR_5_FUDGE_BITMAP_ERROR 0x050011
12586 #define PR_5_COPY_IBITMAP_ERROR 0x050012
12589 #define PR_5_COPY_BBITMAP_ERROR 0x050013
12592 #define PR_5_BLOCK_RANGE_UNUSED 0x050014
12595 #define PR_5_BLOCK_RANGE_USED 0x050015
12598 #define PR_5_INODE_RANGE_UNUSED 0x050016
12601 #define PR_5_INODE_RANGE_USED 0x050017
12608 #define PR_6_RECREATE_JOURNAL 0x060001
12613 int fix_problem(e2fsck_t ctx, problem_t code, struct problem_context *pctx);
12614 int end_problem_latch(e2fsck_t ctx, int mask);
12615 int set_latch_flags(int mask, int setflags, int clearflags);
12616 int get_latch_flags(int mask, int *value);
12617 void clear_problem_context(struct problem_context *ctx);
12620 void print_e2fsck_message(e2fsck_t ctx, const char *msg,
12621 struct problem_context *pctx, int first,
12624 # 1 "../version.h" 1
12625 # 10 "../version.h"
12626 #define E2FSPROGS_VERSION "1.40.4"
12627 #define E2FSPROGS_DATE "31-Dec-2007"
12632 static int normalize_swapfs;
12634 static int show_version_only;
12635 static int verbose;
12637 static int replace_bad_blocks;
12638 static int keep_bad_blocks;
12639 static char *bad_blocks_file;
12641 e2fsck_t e2fsck_global_ctx;
12647 static void usage(e2fsck_t ctx)
12650 (dcgettext (((void *)0), "Usage: %s [-panyrcdfvstDFSV] [-b superblock] [-B blocksize]\n" "\t\t[-I inode_buffer_blocks] [-P process_inode_size]\n" "\t\t[-l|-L bad_blocks_file] [-C fd] [-j external_journal]\n" "\t\t[-E extended-options] device\n", __LC_MESSAGES)),
12654 ctx->program_name);
12656 fprintf(stderr, (dcgettext (((void *)0), "\nEmergency help:\n" " -p Automatic repair (no questions)\n" " -n Make no changes to the filesystem\n" " -y Assume \"yes\" to all questions\n" " -c Check for bad blocks and add them to the badblock list\n" " -f Force checking even if filesystem is marked clean\n", __LC_MESSAGES)));
12662 fprintf(stderr, (dcgettext (((void *)0), "" " -v Be verbose\n" " -b superblock Use alternative superblock\n" " -B blocksize Force blocksize when looking for superblock\n" " -j external_journal Set location of the external journal\n" " -l bad_blocks_file Add to badblocks list\n" " -L bad_blocks_file Set badblocks list\n", __LC_MESSAGES)));
12667 static void show_stats(e2fsck_t ctx)
12669 ext2_filsys fs = ctx->fs;
12670 ext2_ino_t inodes, inodes_used;
12671 blk_t blocks, blocks_used;
12673 int num_files, num_links;
12676 dir_links = 2 * ctx->fs_directory_count - 1;
12677 num_files = ctx->fs_total_count - dir_links;
12678 num_links = ctx->fs_links_count - dir_links;
12679 inodes = fs->super->s_inodes_count;
12680 inodes_used = (fs->super->s_inodes_count -
12681 fs->super->s_free_inodes_count);
12682 blocks = fs->super->s_blocks_count;
12683 blocks_used = (fs->super->s_blocks_count -
12684 fs->super->s_free_blocks_count);
12686 frag_percent = (10000 * ctx->fs_fragmented) / inodes_used;
12687 frag_percent = (frag_percent + 5) / 10;
12690 printf((dcgettext (((void *)0), "%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n", __LC_MESSAGES)),
12691 ctx->device_name, inodes_used, inodes,
12692 frag_percent / 10, frag_percent % 10,
12693 blocks_used, blocks);
12696 printf ((dcngettext (((void *)0), "\n%8u inode used (%2.2f%%)\n", "\n%8u inodes used (%2.2f%%)\n", inodes_used, __LC_MESSAGES)), inodes_used, 100.0 * inodes_used / inodes);
12698 printf ((dcngettext (((void *)0), "%8u non-contiguous inode (%0d.%d%%)\n", "%8u non-contiguous inodes (%0d.%d%%)\n", ctx->fs_fragmented, __LC_MESSAGES)),
12701 ctx->fs_fragmented, frag_percent / 10, frag_percent % 10);
12702 printf ((dcgettext (((void *)0), " # of inodes with ind/dind/tind blocks: %u/%u/%u\n", __LC_MESSAGES)),
12703 ctx->fs_ind_count, ctx->fs_dind_count, ctx->fs_tind_count);
12704 printf ((dcngettext (((void *)0), "%8u block used (%2.2f%%)\n", "%8u blocks used (%2.2f%%)\n", blocks_used, __LC_MESSAGES)), blocks_used, 100.0 * blocks_used / blocks);
12706 printf ((dcngettext (((void *)0), "%8u bad block\n", "%8u bad blocks\n", ctx->fs_badblocks_count, __LC_MESSAGES)), ctx->fs_badblocks_count);
12708 printf ((dcngettext (((void *)0), "%8u large file\n", "%8u large files\n", ctx->large_files, __LC_MESSAGES)), ctx->large_files);
12710 printf ((dcngettext (((void *)0), "\n%8u regular file\n", "\n%8u regular files\n", ctx->fs_regular_count, __LC_MESSAGES)), ctx->fs_regular_count);
12712 printf ((dcngettext (((void *)0), "%8u directory\n", "%8u directories\n", ctx->fs_directory_count, __LC_MESSAGES)), ctx->fs_directory_count);
12714 printf ((dcngettext (((void *)0), "%8u character device file\n", "%8u character device files\n", ctx->fs_chardev_count, __LC_MESSAGES)),
12716 ctx->fs_chardev_count);
12717 printf ((dcngettext (((void *)0), "%8u block device file\n", "%8u block device files\n", ctx->fs_blockdev_count, __LC_MESSAGES)), ctx->fs_blockdev_count);
12719 printf ((dcngettext (((void *)0), "%8u fifo\n", "%8u fifos\n", ctx->fs_fifo_count, __LC_MESSAGES)),
12720 ctx->fs_fifo_count);
12721 printf ((dcngettext (((void *)0), "%8u link\n", "%8u links\n", ctx->fs_links_count - dir_links, __LC_MESSAGES)),
12723 ctx->fs_links_count - dir_links);
12724 printf ((dcngettext (((void *)0), "%8u symbolic link", "%8u symbolic links", ctx->fs_symlinks_count, __LC_MESSAGES)), ctx->fs_symlinks_count);
12726 printf ((dcngettext (((void *)0), " (%u fast symbolic link)\n", " (%u fast symbolic links)\n", ctx->fs_fast_symlinks_count, __LC_MESSAGES)), ctx->fs_fast_symlinks_count);
12728 printf ((dcngettext (((void *)0), "%8u socket\n", "%8u sockets\n", ctx->fs_sockets_count, __LC_MESSAGES)),
12729 ctx->fs_sockets_count);
12730 printf ("--------\n");
12731 printf ((dcngettext (((void *)0), "%8u file\n", "%8u files\n", ctx->fs_total_count - dir_links, __LC_MESSAGES)),
12733 ctx->fs_total_count - dir_links);
12736 static void check_mount(e2fsck_t ctx)
12741 retval = ext2fs_check_if_mounted(ctx->filesystem_name,
12742 &ctx->mount_flags);
12744 com_err("ext2fs_check_if_mount", retval,
12745 (dcgettext (((void *)0), "while determining whether %s is mounted.", __LC_MESSAGES)),
12746 ctx->filesystem_name);
12755 if ((!(ctx->mount_flags & 1)) ||
12756 ((ctx->mount_flags & 2) &&
12757 (ctx->mount_flags & 4) &&
12758 !(ctx->options & 0x0200)))
12761 if ((ctx->options & 0x0001) &&
12762 !(ctx->options & 0x0200)) {
12763 printf((dcgettext (((void *)0), "Warning! %s is mounted.\n", __LC_MESSAGES)), ctx->filesystem_name);
12767 printf((dcgettext (((void *)0), "%s is mounted. ", __LC_MESSAGES)), ctx->filesystem_name);
12768 if (!ctx->interactive)
12769 fatal_error(ctx, (dcgettext (((void *)0), "Cannot continue, aborting.\n\n", __LC_MESSAGES)));
12770 printf((dcgettext (((void *)0), "\n\n\007\007\007\007WARNING!!! " "Running e2fsck on a mounted filesystem may cause\n" "SEVERE filesystem damage.\007\007\007\n\n", __LC_MESSAGES)));
12773 cont = ask_yn((dcgettext (((void *)0), "Do you really want to continue", __LC_MESSAGES)), -1);
12775 printf ((dcgettext (((void *)0), "check aborted.\n", __LC_MESSAGES)));
12781 static int is_on_batt(void)
12785 char tmp[80], tmp2[80], fname[80];
12786 unsigned int acflag;
12789 f = fopen("/proc/apm", "r");
12791 if (fscanf(f, "%s %s %s %x", tmp, tmp, tmp, &acflag) != 4)
12794 return (acflag != 1);
12796 d = opendir("/proc/acpi/ac_adapter");
12798 while ((de=readdir(d)) != ((void *)0)) {
12799 if (!(__extension__ (__builtin_constant_p (1) && ((__builtin_constant_p (".") && strlen (".") < ((size_t) (1))) || (__builtin_constant_p (de->d_name) && strlen (de->d_name) < ((size_t) (1)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (".") && __builtin_constant_p (de->d_name) && (__s1_len = strlen ("."), __s2_len = strlen (de->d_name), (!((size_t)(const void *)((".") + 1) - (size_t)(const void *)(".") == 1) || __s1_len >= 4) && (!((size_t)(const void *)((de->d_name) + 1) - (size_t)(const void *)(de->d_name) == 1) || __s2_len >= 4)) ? __builtin_strcmp (".", de->d_name) : (__builtin_constant_p (".") && ((size_t)(const void *)((".") + 1) - (size_t)(const void *)(".") == 1) && (__s1_len = strlen ("."), __s1_len < 4) ? (__builtin_constant_p (de->d_name) && ((size_t)(const void *)((de->d_name) + 1) - (size_t)(const void *)(de->d_name) == 1) ? __builtin_strcmp (".", de->d_name) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (de->d_name); register int __result = (((__const unsigned char *) (__const char *) ("."))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ("."))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ("."))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ("."))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (de->d_name) && ((size_t)(const void *)((de->d_name) + 1) - (size_t)(const void *)(de->d_name) == 1) && (__s2_len = strlen (de->d_name), __s2_len < 4) ? (__builtin_constant_p (".") && ((size_t)(const void *)((".") + 1) - (size_t)(const void *)(".") == 1) ? __builtin_strcmp (".", de->d_name) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ("."); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (de->d_name))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (de->d_name))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (de->d_name))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (de->d_name))[3]); } } __result; }))) : __builtin_strcmp (".", de->d_name)))); }) : strncmp (".", de->d_name, 1))))
12801 snprintf(fname, 80, "/proc/acpi/ac_adapter/%s/state",
12803 f = fopen(fname, "r");
12806 if (fscanf(f, "%s %s", tmp2, tmp) != 2)
12809 if ((__extension__ (__builtin_constant_p (8) && ((__builtin_constant_p (tmp) && strlen (tmp) < ((size_t) (8))) || (__builtin_constant_p ("off-line") && strlen ("off-line") < ((size_t) (8)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (tmp) && __builtin_constant_p ("off-line") && (__s1_len = strlen (tmp), __s2_len = strlen ("off-line"), (!((size_t)(const void *)((tmp) + 1) - (size_t)(const void *)(tmp) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("off-line") + 1) - (size_t)(const void *)("off-line") == 1) || __s2_len >= 4)) ? __builtin_strcmp (tmp, "off-line") : (__builtin_constant_p (tmp) && ((size_t)(const void *)((tmp) + 1) - (size_t)(const void *)(tmp) == 1) && (__s1_len = strlen (tmp), __s1_len < 4) ? (__builtin_constant_p ("off-line") && ((size_t)(const void *)(("off-line") + 1) - (size_t)(const void *)("off-line") == 1) ? __builtin_strcmp (tmp, "off-line") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("off-line"); register int __result = (((__const unsigned char *) (__const char *) (tmp))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (tmp))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (tmp))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (tmp))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("off-line") && ((size_t)(const void *)(("off-line") + 1) - (size_t)(const void *)("off-line") == 1) && (__s2_len = strlen ("off-line"), __s2_len < 4) ? (__builtin_constant_p (tmp) && ((size_t)(const void *)((tmp) + 1) - (size_t)(const void *)(tmp) == 1) ? __builtin_strcmp (tmp, "off-line") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (tmp); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("off-line"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("off-line"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("off-line"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("off-line"))[3]); } } __result; }))) : __builtin_strcmp (tmp, "off-line")))); }) : strncmp (tmp, "off-line", 8))) == 0) {
12824 static void check_if_skip(e2fsck_t ctx)
12826 ext2_filsys fs = ctx->fs;
12827 const char *reason = ((void *)0);
12828 unsigned int reason_arg = 0;
12830 int batt = is_on_batt();
12831 int defer_check_on_battery;
12834 profile_get_boolean(ctx->profile, "options",
12835 "defer_check_on_battery", 0, 1,
12836 &defer_check_on_battery);
12837 if (!defer_check_on_battery)
12840 if ((ctx->options & 0x0100) || bad_blocks_file ||
12844 lastcheck = fs->super->s_lastcheck;
12845 if (lastcheck > ctx->now)
12846 lastcheck -= ctx->time_fudge;
12847 if ((fs->super->s_state & 0x0002) ||
12848 !ext2fs_test_valid(fs))
12849 reason = (dcgettext (((void *)0), " contains a file system with errors", __LC_MESSAGES));
12850 else if ((fs->super->s_state & 0x0001) == 0)
12851 reason = (dcgettext (((void *)0), " was not cleanly unmounted", __LC_MESSAGES));
12852 else if (check_backup_super_block(ctx))
12853 reason = (dcgettext (((void *)0), " primary superblock features different from backup", __LC_MESSAGES));
12854 else if ((fs->super->s_max_mnt_count > 0) &&
12855 (fs->super->s_mnt_count >=
12856 (unsigned) fs->super->s_max_mnt_count)) {
12857 reason = (dcgettext (((void *)0), " has been mounted %u times without being checked", __LC_MESSAGES));
12858 reason_arg = fs->super->s_mnt_count;
12859 if (batt && (fs->super->s_mnt_count <
12860 (unsigned) fs->super->s_max_mnt_count*2))
12862 } else if (fs->super->s_checkinterval &&
12863 ((ctx->now - lastcheck) >= fs->super->s_checkinterval)) {
12864 reason = (dcgettext (((void *)0), " has gone %u days without being checked", __LC_MESSAGES));
12865 reason_arg = (ctx->now - fs->super->s_lastcheck)/(3600*24);
12866 if (batt && ((ctx->now - fs->super->s_lastcheck) <
12867 fs->super->s_checkinterval*2))
12871 fputs(ctx->device_name, stdout);
12872 printf(reason, reason_arg);
12873 fputs((dcgettext (((void *)0), ", check forced.\n", __LC_MESSAGES)), stdout);
12876 printf((dcgettext (((void *)0), "%s: clean, %u/%u files, %u/%u blocks", __LC_MESSAGES)), ctx->device_name,
12877 fs->super->s_inodes_count - fs->super->s_free_inodes_count,
12878 fs->super->s_inodes_count,
12879 fs->super->s_blocks_count - fs->super->s_free_blocks_count,
12880 fs->super->s_blocks_count);
12881 next_check = 100000;
12882 if (fs->super->s_max_mnt_count > 0) {
12883 next_check = fs->super->s_max_mnt_count - fs->super->s_mnt_count;
12884 if (next_check <= 0)
12887 if (fs->super->s_checkinterval &&
12888 ((ctx->now - fs->super->s_lastcheck) >= fs->super->s_checkinterval))
12890 if (next_check <= 5) {
12891 if (next_check == 1) {
12893 fputs((dcgettext (((void *)0), " (check deferred; on battery)", __LC_MESSAGES)),
12896 fputs((dcgettext (((void *)0), " (check after next mount)", __LC_MESSAGES)), stdout);
12898 printf((dcgettext (((void *)0), " (check in %ld mounts)", __LC_MESSAGES)), next_check);
12900 fputc('\n', stdout);
12902 ctx->fs = ((void *)0);
12903 e2fsck_free_context(ctx);
12910 struct percent_tbl {
12914 struct percent_tbl e2fsck_tbl = {
12915 5, { 0, 70, 90, 92, 95, 100 }
12917 static char bar[128], spaces[128];
12919 static float calc_percent(struct percent_tbl *tbl, int pass, int curr,
12926 if (pass > tbl->max_pass || max == 0)
12928 percent = ((float) curr) / ((float) max);
12929 return ((percent * (tbl->table[pass] - tbl->table[pass-1]))
12930 + tbl->table[pass-1]);
12933 extern void e2fsck_clear_progbar(e2fsck_t ctx)
12935 if (!(ctx->flags & 0x0020))
12938 printf("%s%s\r%s", ctx->start_meta, spaces + (sizeof(spaces) - 80),
12941 ctx->flags &= ~0x0020;
12944 int e2fsck_simple_progress(e2fsck_t ctx, const char *label, float percent,
12945 unsigned int dpynum)
12947 static const char spinner[] = "\\|/-";
12954 if (ctx->flags & 0x0040)
12962 fixed_percent = (int) ((10 * percent) + 0.5);
12963 if (ctx->progress_last_percent == fixed_percent)
12965 ctx->progress_last_percent = fixed_percent;
12972 gettimeofday(&tv, ((void *)0));
12973 tick = (tv.tv_sec << 3) + (tv.tv_usec / (1000000 / 8));
12974 if ((tick == ctx->progress_last_time) &&
12975 (fixed_percent != 0) && (fixed_percent != 1000))
12977 ctx->progress_last_time = tick;
12983 ctx->progress_pos = (ctx->progress_pos+1) & 3;
12984 ctx->flags |= 0x0020;
12986 dpywidth = 66 - strlen(label);
12987 dpywidth = 8 * (dpywidth / 8);
12991 i = ((percent * dpywidth) + 50) / 100;
12992 printf("%s%s: |%s%s", ctx->start_meta, label,
12993 bar + (sizeof(bar) - (i+1)),
12994 spaces + (sizeof(spaces) - (dpywidth - i + 1)));
12995 if (fixed_percent == 1000)
12996 fputc('|', stdout);
12998 fputc(spinner[ctx->progress_pos & 3], stdout);
12999 printf(" %4.1f%% ", percent);
13001 printf("%u\r", dpynum);
13003 fputs(" \r", stdout);
13004 fputs(ctx->stop_meta, stdout);
13006 if (fixed_percent == 1000)
13007 e2fsck_clear_progbar(ctx);
13013 static int e2fsck_update_progress(e2fsck_t ctx, int pass,
13014 unsigned long cur, unsigned long max)
13022 if (ctx->progress_fd) {
13023 sprintf(buf, "%d %lu %lu\n", pass, cur, max);
13024 write(ctx->progress_fd, buf, strlen(buf));
13026 percent = calc_percent(&e2fsck_tbl, pass, cur, max);
13027 e2fsck_simple_progress(ctx, ctx->device_name,
13033 #define PATH_SET "PATH=/sbin"
13035 static void reserve_stdio_fds(void)
13040 fd = open("/dev/null", 02);
13044 fprintf(stderr, (dcgettext (((void *)0), "ERROR: Couldn't open " "/dev/null (%s)\n", __LC_MESSAGES)),
13046 strerror((*__errno_location ())));
13054 static void signal_progress_on(int sig __attribute__((unused)))
13056 e2fsck_t ctx = e2fsck_global_ctx;
13061 ctx->progress = e2fsck_update_progress;
13062 ctx->progress_fd = 0;
13065 static void signal_progress_off(int sig __attribute__((unused)))
13067 e2fsck_t ctx = e2fsck_global_ctx;
13072 e2fsck_clear_progbar(ctx);
13076 static void signal_cancel(int sig __attribute__((unused)))
13078 e2fsck_t ctx = e2fsck_global_ctx;
13083 ctx->flags |= 0x0002;
13087 static void parse_extended_opts(e2fsck_t ctx, const char *opts)
13089 char *buf, *token, *next, *p, *arg;
13091 int extended_usage = 0;
13093 buf = string_copy(ctx, opts, 0);
13094 for (token = buf; token && *token; token = next) {
13095 p = (__extension__ (__builtin_constant_p (',') && !__builtin_constant_p (token) && (',') == '\0' ? (char *) __rawmemchr (token, ',') : __builtin_strchr (token, ',')));
13101 arg = (__extension__ (__builtin_constant_p ('=') && !__builtin_constant_p (token) && ('=') == '\0' ? (char *) __rawmemchr (token, '=') : __builtin_strchr (token, '=')));
13106 if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (token) && __builtin_constant_p ("ea_ver") && (__s1_len = strlen (token), __s2_len = strlen ("ea_ver"), (!((size_t)(const void *)((token) + 1) - (size_t)(const void *)(token) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("ea_ver") + 1) - (size_t)(const void *)("ea_ver") == 1) || __s2_len >= 4)) ? __builtin_strcmp (token, "ea_ver") : (__builtin_constant_p (token) && ((size_t)(const void *)((token) + 1) - (size_t)(const void *)(token) == 1) && (__s1_len = strlen (token), __s1_len < 4) ? (__builtin_constant_p ("ea_ver") && ((size_t)(const void *)(("ea_ver") + 1) - (size_t)(const void *)("ea_ver") == 1) ? __builtin_strcmp (token, "ea_ver") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("ea_ver"); register int __result = (((__const unsigned char *) (__const char *) (token))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (token))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (token))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (token))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("ea_ver") && ((size_t)(const void *)(("ea_ver") + 1) - (size_t)(const void *)("ea_ver") == 1) && (__s2_len = strlen ("ea_ver"), __s2_len < 4) ? (__builtin_constant_p (token) && ((size_t)(const void *)((token) + 1) - (size_t)(const void *)(token) == 1) ? __builtin_strcmp (token, "ea_ver") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (token); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("ea_ver"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("ea_ver"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("ea_ver"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("ea_ver"))[3]); } } __result; }))) : __builtin_strcmp (token, "ea_ver")))); }) == 0) {
13111 ea_ver = strtoul(arg, &p, 0);
13113 ((ea_ver != 1) && (ea_ver != 2))) {
13115 (dcgettext (((void *)0), "Invalid EA version.\n", __LC_MESSAGES)));
13119 ctx->ext_attr_ver = ea_ver;
13121 fprintf(stderr, (dcgettext (((void *)0), "Unknown extended option: %s\n", __LC_MESSAGES)),
13128 if (extended_usage) {
13129 fputs(("\nExtended options are separated by commas, "
13130 "and may take an argument which\n"
13131 "is set off by an equals ('=') sign. "
13132 "Valid extended options are:\n"
13133 "\tea_ver=<ea_version (1 or 2)>\n\n"), stderr);
13138 static void syntax_err_report(const char *filename, long err, int line_num)
13141 (dcgettext (((void *)0), "Syntax error in e2fsck config file (%s, line #%d)\n\t%s\n", __LC_MESSAGES)),
13142 filename, line_num, error_message(err));
13146 static const char *config_fn[] = { "/etc" "/e2fsck.conf", 0 };
13148 static errcode_t PRS(int argc, char *argv[], e2fsck_t *ret_ctx)
13158 struct sigaction sa;
13160 char *extended_opts = 0;
13167 retval = e2fsck_allocate_context(&ctx);
13173 setvbuf(stdout, ((void *)0), 2, 8192);
13174 setvbuf(stderr, ((void *)0), 2, 8192);
13175 if (isatty(0) && isatty(1)) {
13176 ctx->interactive = 1;
13178 ctx->start_meta[0] = '\001';
13179 ctx->stop_meta[0] = '\002';
13181 memset(bar, '=', sizeof(bar)-1);
13182 memset(spaces, ' ', sizeof(spaces)-1);
13183 add_error_table(&et_ext2_error_table);
13184 add_error_table(&et_prof_error_table);
13185 blkid_get_cache(&ctx->blkid, ((void *)0));
13188 ctx->program_name = *argv;
13190 ctx->program_name = "e2fsck";
13191 while ((c = getopt (argc, argv, "panyrcC:B:dE:fvtFVM:b:I:j:P:l:L:N:SsDk")) != (-1))
13194 ctx->progress = e2fsck_update_progress;
13195 res = sscanf(optarg, "%d", &ctx->progress_fd);
13199 if (!ctx->progress_fd)
13202 fd = dup(ctx->progress_fd);
13205 (dcgettext (((void *)0), "Error validating file descriptor %d: %s\n", __LC_MESSAGES)),
13207 error_message((*__errno_location ())));
13209 (dcgettext (((void *)0), "Invalid completion information file descriptor", __LC_MESSAGES)));
13214 ctx->options |= 0x0400;
13217 extended_opts = optarg;
13221 if (ctx->options & (0x0004|0x0008)) {
13224 (dcgettext (((void *)0), "Only one of the options -p/-a, -n or -y may be specified.", __LC_MESSAGES)));
13226 ctx->options |= 0x0002;
13229 if (ctx->options & (0x0004|0x0002))
13231 ctx->options |= 0x0008;
13234 if (ctx->options & (0x0002|0x0008))
13236 ctx->options |= 0x0004;
13240 if (ctx->options & 0x0010)
13241 ctx->options |= 0x0020;
13243 ctx->options |= 0x0010;
13251 ctx->options |= 0x0200;
13252 ctx->options |= 0x0040;
13258 res = sscanf(optarg, "%d", &ctx->use_superblock);
13261 ctx->flags |= 0x0100;
13264 ctx->blocksize = atoi(optarg);
13267 res = sscanf(optarg, "%d", &ctx->inode_buffer_blocks);
13272 ctx->journal_name = string_copy(ctx, optarg, 0);
13275 res = sscanf(optarg, "%d", &ctx->process_inode_size);
13280 replace_bad_blocks++;
13282 bad_blocks_file = string_copy(ctx, optarg, 0);
13285 ctx->options |= 0x0080;
13288 ctx->options |= 0x0100;
13297 show_version_only = 1;
13305 ctx->device_name = optarg;
13309 normalize_swapfs = 1;
13320 if (show_version_only)
13322 if (optind != argc - 1)
13324 if ((ctx->options & 0x0008) && !bad_blocks_file &&
13325 !cflag && !swapfs && !(ctx->options & 0x0400))
13326 ctx->options |= 0x0001;
13327 ctx->io_options = (__extension__ (__builtin_constant_p ('?') && !__builtin_constant_p (argv[optind]) && ('?') == '\0' ? (char *) __rawmemchr (argv[optind], '?') : __builtin_strchr (argv[optind], '?')));
13328 if (ctx->io_options)
13329 *ctx->io_options++ = 0;
13330 ctx->filesystem_name = blkid_get_devname(ctx->blkid, argv[optind], 0);
13331 if (!ctx->filesystem_name) {
13332 com_err(ctx->program_name, 0, (dcgettext (((void *)0), "Unable to resolve '%s'", __LC_MESSAGES)),
13334 fatal_error(ctx, 0);
13337 parse_extended_opts(ctx, extended_opts);
13339 if ((cp = getenv("E2FSCK_CONFIG")) != ((void *)0))
13341 profile_set_syntax_err_cb(syntax_err_report);
13342 profile_init(config_fn, &ctx->profile);
13345 fd = open(ctx->filesystem_name, 00, 0);
13347 com_err("open", (*__errno_location ()),
13348 (dcgettext (((void *)0), "while opening %s for flushing", __LC_MESSAGES)),
13349 ctx->filesystem_name);
13350 fatal_error(ctx, 0);
13352 if ((retval = ext2fs_sync_device(fd, 1))) {
13353 com_err("ext2fs_sync_device", retval,
13354 (dcgettext (((void *)0), "while trying to flush %s", __LC_MESSAGES)),
13355 ctx->filesystem_name);
13356 fatal_error(ctx, 0);
13362 if (cflag || bad_blocks_file) {
13363 fprintf(stderr, (dcgettext (((void *)0), "Incompatible options not " "allowed when byte-swapping.\n", __LC_MESSAGES)));
13369 if (cflag && bad_blocks_file) {
13370 fprintf(stderr, (dcgettext (((void *)0), "The -c and the -l/-L options may " "not be both used at the same time.\n", __LC_MESSAGES)));
13378 memset(&sa, 0, sizeof(struct sigaction));
13379 sa.__sigaction_handler.sa_handler = signal_cancel;
13380 sigaction(2, &sa, 0);
13381 sigaction(15, &sa, 0);
13383 sa.sa_flags = 0x10000000;
13385 e2fsck_global_ctx = ctx;
13386 sa.__sigaction_handler.sa_handler = signal_progress_on;
13387 sigaction(10, &sa, 0);
13388 sa.__sigaction_handler.sa_handler = signal_progress_off;
13389 sigaction(12, &sa, 0);
13394 char *oldpath = getenv("PATH");
13396 int len = sizeof("PATH=/sbin") + 1;
13399 len += strlen(oldpath);
13401 newpath = malloc(len);
13403 fatal_error(ctx, "Couldn't malloc() newpath");
13404 strcpy(newpath, "PATH=/sbin");
13407 strcat(newpath, ":");
13408 strcat(newpath, oldpath);
13416 fprintf(stderr, (dcgettext (((void *)0), "\nInvalid non-numeric argument to -%c (\"%s\")\n\n", __LC_MESSAGES)),
13421 static const char *my_ver_string = "1.40.4";
13422 static const char *my_ver_date = "31-Dec-2007";
13424 int main (int argc, char *argv[])
13426 errcode_t retval = 0, orig_retval = 0;
13427 int exit_value = 0;
13428 ext2_filsys fs = 0;
13430 struct ext2_super_block *sb;
13431 const char *lib_ver_date;
13432 int my_ver, lib_ver;
13434 struct problem_context pctx;
13435 int flags, run_result;
13437 int sysval, sys_page_size = 4096;
13439 clear_problem_context(&pctx);
13447 setlocale(__LC_MESSAGES, "");
13448 setlocale(__LC_CTYPE, "");
13449 bindtextdomain("e2fsprogs", "/usr/share/locale");
13450 textdomain("e2fsprogs");
13452 my_ver = ext2fs_parse_version_string(my_ver_string);
13453 lib_ver = ext2fs_get_library_version(0, &lib_ver_date);
13454 if (my_ver > lib_ver) {
13455 fprintf( stderr, (dcgettext (((void *)0), "Error: ext2fs library version " "out of date!\n", __LC_MESSAGES)));
13457 show_version_only++;
13460 retval = PRS(argc, argv, &ctx);
13462 com_err("e2fsck", retval,
13463 (dcgettext (((void *)0), "while trying to initialize program", __LC_MESSAGES)));
13466 reserve_stdio_fds();
13469 init_resource_track(&ctx->global_rtrack);
13472 if (!(ctx->options & 0x0002) || show_version_only)
13473 fprintf(stderr, "e2fsck %s (%s)\n", my_ver_string,
13476 if (show_version_only) {
13477 fprintf(stderr, (dcgettext (((void *)0), "\tUsing %s, %s\n", __LC_MESSAGES)),
13478 error_message((2133571328L)), lib_ver_date);
13484 if (!(ctx->options & 0x0002) &&
13485 !(ctx->options & 0x0008) &&
13486 !(ctx->options & 0x0004)) {
13487 if (!ctx->interactive)
13489 (dcgettext (((void *)0), "need terminal for interactive repairs", __LC_MESSAGES)));
13491 ctx->superblock = ctx->use_superblock;
13497 io_ptr = unix_io_manager;
13500 if ((ctx->options & 0x0001) == 0)
13502 if ((ctx->mount_flags & 1) == 0)
13505 if (ctx->superblock && ctx->blocksize) {
13506 retval = ext2fs_open2(ctx->filesystem_name, ctx->io_options,
13507 flags, ctx->superblock, ctx->blocksize,
13509 } else if (ctx->superblock) {
13511 for (blocksize = (1 << 10);
13512 blocksize <= (1 << 16); blocksize *= 2) {
13513 retval = ext2fs_open2(ctx->filesystem_name,
13514 ctx->io_options, flags,
13515 ctx->superblock, blocksize,
13521 retval = ext2fs_open2(ctx->filesystem_name, ctx->io_options,
13522 flags, 0, 0, io_ptr, &fs);
13523 if (!ctx->superblock && !(ctx->options & 0x0002) &&
13524 !(ctx->flags & 0x0100) &&
13525 ((retval == (2133571347L)) ||
13526 (retval == (2133571388L)) ||
13527 ((retval == 0) && ext2fs_check_desc(fs)))) {
13528 if (!fs || (fs->group_desc_count > 1)) {
13529 printf((dcgettext (((void *)0), "%s: %s trying backup blocks...\n", __LC_MESSAGES)),
13531 retval ? (dcgettext (((void *)0), "Superblock invalid,", __LC_MESSAGES)) :
13532 (dcgettext (((void *)0), "Group descriptors look bad...", __LC_MESSAGES)));
13533 get_backup_sb(ctx, fs, ctx->filesystem_name, io_ptr);
13536 orig_retval = retval;
13542 retval = orig_retval;
13543 com_err(ctx->program_name, retval, (dcgettext (((void *)0), "while trying to open %s", __LC_MESSAGES)),
13544 ctx->filesystem_name);
13545 if (retval == (2133571348L)) {
13546 printf((dcgettext (((void *)0), "The filesystem revision is apparently " "too high for this version of e2fsck.\n" "(Or the filesystem superblock " "is corrupt)\n\n", __LC_MESSAGES)));
13550 fix_problem(ctx, 0x000004, &pctx);
13551 } else if (retval == (2133571364L))
13552 printf((dcgettext (((void *)0), "Could this be a zero-length partition?\n", __LC_MESSAGES)));
13553 else if ((retval == 1) || (retval == 13))
13554 printf((dcgettext (((void *)0), "You must have %s access to the " "filesystem or be root\n", __LC_MESSAGES)),
13556 (ctx->options & 0x0001) ?
13558 else if (retval == 6)
13559 printf((dcgettext (((void *)0), "Possibly non-existent or swap device?\n", __LC_MESSAGES)));
13560 else if (retval == 16)
13561 printf((dcgettext (((void *)0), "Filesystem mounted or opened exclusively " "by another program?\n", __LC_MESSAGES)));
13564 else if (retval == 30)
13565 printf((dcgettext (((void *)0), "Disk write-protected; use the -n option " "to do a read-only\n" "check of the device.\n", __LC_MESSAGES)));
13570 fix_problem(ctx, 0x000004, &pctx);
13571 fatal_error(ctx, 0);
13574 fs->flags |= 0x200;
13576 if (!(ctx->flags & 0x0800)) {
13577 __u32 blocksize = ((1 << 10) << (fs->super)->s_log_block_size);
13578 int need_restart = 0;
13580 pctx.errcode = ext2fs_get_device_size(ctx->filesystem_name,
13590 if (pctx.errcode == 16) {
13594 ext2fs_get_device_size(ctx->filesystem_name,
13598 if (pctx.errcode == (2133571408L))
13599 ctx->num_blocks = 0;
13600 else if (pctx.errcode) {
13601 fix_problem(ctx, 0x00000C, &pctx);
13602 ctx->flags |= 0x0001;
13603 fatal_error(ctx, 0);
13605 ctx->flags |= 0x0800;
13611 fs->priv_data = ctx;
13612 fs->now = ctx->now;
13614 if (sb->s_rev_level > 1) {
13615 com_err(ctx->program_name, (2133571348L),
13616 (dcgettext (((void *)0), "while trying to open %s", __LC_MESSAGES)),
13617 ctx->filesystem_name);
13619 fatal_error(ctx, (dcgettext (((void *)0), "Get a newer version of e2fsck!", __LC_MESSAGES)));
13626 if (ctx->device_name == 0 &&
13627 (sb->s_volume_name[0] != 0)) {
13628 ctx->device_name = string_copy(ctx, sb->s_volume_name,
13629 sizeof(sb->s_volume_name));
13631 if (ctx->device_name == 0)
13632 ctx->device_name = ctx->filesystem_name;
13637 retval = e2fsck_check_ext3_journal(ctx);
13639 com_err(ctx->program_name, retval,
13640 (dcgettext (((void *)0), "while checking ext3 journal for %s", __LC_MESSAGES)),
13642 fatal_error(ctx, 0);
13649 if (sb->s_feature_incompat & 0x0004) {
13650 if (ctx->options & 0x0001) {
13651 printf((dcgettext (((void *)0), "Warning: skipping journal recovery " "because doing a read-only filesystem " "check.\n", __LC_MESSAGES)));
13654 ((ctx->fs->io)->manager->flush((ctx->fs->io)));
13656 if (ctx->flags & 0x0200) {
13663 com_err(ctx->program_name, 0,
13664 (dcgettext (((void *)0), "unable to set superblock flags on %s\n", __LC_MESSAGES)), ctx->device_name);
13665 fatal_error(ctx, 0);
13667 retval = e2fsck_run_ext3_journal(ctx);
13669 com_err(ctx->program_name, retval,
13670 (dcgettext (((void *)0), "while recovering ext3 journal of %s", __LC_MESSAGES)),
13672 fatal_error(ctx, 0);
13674 ext2fs_close(ctx->fs);
13676 ctx->flags |= 0x0200;
13685 if ((sb->s_feature_compat & ~(0x0001| 0x0002| 0x0004| 0x0010| 0x0020| 0x0040| 0x0008)) ||
13686 (sb->s_feature_incompat & ~(0x0002| 0x0008| 0x0010| 0x0004))) {
13687 com_err(ctx->program_name, (2133571395L),
13688 "(%s)", ctx->device_name);
13691 if (sb->s_feature_ro_compat & ~(0x0001| 0x0002)) {
13692 com_err(ctx->program_name, (2133571396L),
13693 "(%s)", ctx->device_name);
13697 if (ctx->superblock &&
13698 !(ctx->options & 0x0001))
13699 ext2fs_mark_super_dirty(fs);
13707 sysval = sysconf(_SC_PAGESIZE);
13709 sys_page_size = sysval;
13711 ctx->blocks_per_page = sys_page_size / fs->blocksize;
13712 if (ctx->blocks_per_page == 0)
13713 ctx->blocks_per_page = 1;
13715 ehandler_init(fs->io);
13717 if (ctx->superblock)
13718 set_latch_flags(0x0050, 0x0004, 0);
13719 ext2fs_mark_valid(fs);
13720 check_super_block(ctx);
13721 if (ctx->flags & 0x0003)
13722 fatal_error(ctx, 0);
13723 check_if_skip(ctx);
13724 if (bad_blocks_file)
13725 read_bad_blocks_file(ctx, bad_blocks_file, replace_bad_blocks);
13727 read_bad_blocks_file(ctx, 0, !keep_bad_blocks);
13728 if (ctx->flags & 0x0003)
13729 fatal_error(ctx, 0);
13731 if (normalize_swapfs) {
13732 if ((fs->flags & 0x40) ==
13733 ext2fs_native_flag()) {
13734 fprintf(stderr, (dcgettext (((void *)0), "%s: Filesystem byte order " "already normalized.\n", __LC_MESSAGES)), ctx->device_name);
13736 fatal_error(ctx, 0);
13741 if (ctx->flags & 0x0003)
13742 fatal_error(ctx, 0);
13749 ext2fs_mark_valid(fs);
13751 retval = ext2fs_read_bb_inode(fs, &fs->badblocks);
13753 com_err(ctx->program_name, retval,
13754 (dcgettext (((void *)0), "while reading bad blocks inode", __LC_MESSAGES)));
13756 printf((dcgettext (((void *)0), "This doesn't bode well," " but we'll try to go on...\n", __LC_MESSAGES)));
13765 if (sb->s_jnl_backup_type == 1)
13766 journal_size = sb->s_jnl_blocks[16] >> 20;
13770 run_result = e2fsck_run(ctx);
13771 e2fsck_clear_progbar(ctx);
13773 if (ctx->flags & 0x0080) {
13774 if (fix_problem(ctx, 0x060001, &pctx)) {
13775 if (journal_size < 1024)
13776 journal_size = ext2fs_default_journal_size(fs->super->s_blocks_count);
13777 if (journal_size < 0) {
13778 fs->super->s_feature_compat &=
13780 fs->flags &= ~0x200;
13781 com_err(ctx->program_name, 0,
13782 (dcgettext (((void *)0), "Couldn't determine journal size", __LC_MESSAGES)));
13785 printf((dcgettext (((void *)0), "Creating journal (%d blocks): ", __LC_MESSAGES)),
13788 retval = ext2fs_add_journal_inode(fs,
13791 com_err("Error ", retval,
13792 (dcgettext (((void *)0), "\n\twhile trying to create journal", __LC_MESSAGES)));
13795 printf((dcgettext (((void *)0), " Done.\n", __LC_MESSAGES)));
13796 printf((dcgettext (((void *)0), "\n*** journal has been re-created - " "filesystem is now ext3 again ***\n", __LC_MESSAGES)));
13802 if (run_result == 0x0004) {
13803 printf((dcgettext (((void *)0), "Restarting e2fsck from the beginning...\n", __LC_MESSAGES)));
13804 retval = e2fsck_reset_context(ctx);
13806 com_err(ctx->program_name, retval,
13807 (dcgettext (((void *)0), "while resetting context", __LC_MESSAGES)));
13808 fatal_error(ctx, 0);
13813 if (run_result & 0x0002) {
13814 printf((dcgettext (((void *)0), "%s: e2fsck canceled.\n", __LC_MESSAGES)), ctx->device_name ?
13815 ctx->device_name : ctx->filesystem_name);
13818 if (run_result & 0x0001)
13819 fatal_error(ctx, (dcgettext (((void *)0), "aborted", __LC_MESSAGES)));
13820 if (check_backup_super_block(ctx)) {
13821 fs->flags &= ~0x200;
13822 ext2fs_mark_super_dirty(fs);
13828 if (ext2fs_test_changed(fs)) {
13830 if (!(ctx->options & 0x0002))
13831 printf((dcgettext (((void *)0), "\n%s: ***** FILE SYSTEM WAS MODIFIED *****\n", __LC_MESSAGES)),
13833 if (ctx->mount_flags & 2) {
13834 printf((dcgettext (((void *)0), "%s: ***** REBOOT LINUX *****\n", __LC_MESSAGES)),
13839 if (!ext2fs_test_valid(fs) ||
13840 ((exit_value & 32) &&
13841 (sb->s_state & 0x0002))) {
13842 printf((dcgettext (((void *)0), "\n%s: ********** WARNING: Filesystem still has " "errors **********\n\n", __LC_MESSAGES)), ctx->device_name);
13847 if (exit_value & 32) {
13848 int allow_cancellation;
13850 profile_get_boolean(ctx->profile, "options",
13851 "allow_cancellation", 0, 0,
13852 &allow_cancellation);
13854 if (allow_cancellation && ext2fs_test_valid(fs) &&
13855 (sb->s_state & 0x0001) &&
13856 !(sb->s_state & 0x0002))
13860 if (!(ctx->options & 0x0001)) {
13861 if (ext2fs_test_valid(fs)) {
13862 if (!(sb->s_state & 0x0001))
13864 sb->s_state = 0x0001;
13866 sb->s_state &= ~0x0001;
13867 sb->s_mnt_count = 0;
13868 sb->s_lastcheck = ctx->now;
13869 ext2fs_mark_super_dirty(fs);
13873 e2fsck_write_bitmaps(ctx);
13876 ctx->fs = ((void *)0);
13877 free(ctx->filesystem_name);
13878 free(ctx->journal_name);
13881 if (ctx->options & 0x0010)
13882 print_resource_track(((void *)0), &ctx->global_rtrack);
13884 e2fsck_free_context(ctx);
13885 remove_error_table(&et_ext2_error_table);
13886 remove_error_table(&et_prof_error_table);