|
|||||
| | |||||
# 1 "readblock.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "readblock.c"
# 1 "/usr/include/errno.h" 1 3
# 29 "/usr/include/errno.h" 3
# 1 "/usr/include/features.h" 1 3
# 291 "/usr/include/features.h" 3
# 1 "/usr/include/sys/cdefs.h" 1 3
# 292 "/usr/include/features.h" 2 3
# 320 "/usr/include/features.h" 3
# 1 "/usr/include/gnu/stubs.h" 1 3
# 321 "/usr/include/features.h" 2 3
# 30 "/usr/include/errno.h" 2 3
# 1 "/usr/include/bits/errno.h" 1 3
# 25 "/usr/include/bits/errno.h" 3
# 1 "/usr/include/linux/errno.h" 1 3
# 1 "/usr/include/asm/errno.h" 1 3
# 5 "/usr/include/linux/errno.h" 2 3
# 26 "/usr/include/bits/errno.h" 2 3
# 38 "/usr/include/bits/errno.h" 3
extern int *__errno_location (void) __attribute__ ((__const__));
# 37 "/usr/include/errno.h" 2 3
# 59 "/usr/include/errno.h" 3
# 2 "readblock.c" 2
# 1 "/usr/include/unistd.h" 1 3
# 28 "/usr/include/unistd.h" 3
# 175 "/usr/include/unistd.h" 3
# 1 "/usr/include/bits/posix_opt.h" 1 3
# 176 "/usr/include/unistd.h" 2 3
# 190 "/usr/include/unistd.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 29 "/usr/include/bits/types.h" 3
# 1 "/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h" 1 3
# 201 "/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h" 3
typedef unsigned int size_t;
# 30 "/usr/include/bits/types.h" 2 3
typedef unsigned char _uchar;
typedef unsigned short _ushort;
typedef unsigned int _uint;
typedef unsigned long _ulong;
__extension__ typedef unsigned long long int uquadt;
__extension__ typedef long long int __quad_t;
# 49 "/usr/include/bits/types.h" 3
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
typedef __quad_t *__qaddr_t;
typedef uquadt __dev_t;
typedef _uint __uid_t;
typedef _uint __gid_t;
typedef _ulong __ino_t;
typedef _uint __mode_t;
typedef _uint __nlink_t;
typedef long int __off_t;
typedef __quad_t __loff_t;
typedef int __pid_t;
typedef int __ssize_t;
typedef _ulong __rlim_t;
typedef uquadt __rlim64_t;
typedef _uint __id_t;
typedef struct
{
int __val[2];
} __fsid_t;
typedef int __daddr_t;
typedef char *__caddr_t;
typedef long int __time_t;
typedef unsigned int __useconds_t;
typedef long int __suseconds_t;
typedef long int __swblk_t;
typedef long int __clock_t;
typedef int __clockid_t;
typedef int __timer_t;
typedef int __key_t;
typedef unsigned short int __ipc_pid_t;
typedef long int __blksize_t;
typedef long int __blkcnt_t;
typedef __quad_t __blkcnt64_t;
typedef _ulong __fsblkcnt_t;
typedef uquadt __fsblkcnt64_t;
typedef _ulong __fsfilcnt_t;
typedef uquadt __fsfilcnt64_t;
typedef uquadt __ino64_t;
typedef __loff_t __off64_t;
typedef long int tscalart;
typedef unsigned long int tuscalart;
typedef int __intptr_t;
typedef unsigned int __socklen_t;
# 1 "/usr/include/bits/pthreadtypes.h" 1 3
# 23 "/usr/include/bits/pthreadtypes.h" 3
# 1 "/usr/include/bits/sched.h" 1 3
# 68 "/usr/include/bits/sched.h" 3
struct __sched_param
{
int __sched_priority;
};
# 24 "/usr/include/bits/pthreadtypes.h" 2 3
struct pthreadfastlock
{
long int __status;
int __spinlock;
};
typedef struct pthreaddescr_struct *pthreaddescr;
typedef struct __pthread_attr_s
{
int __detachstate;
int __schedpolicy;
struct __sched_param __schedparam;
int __inheritsched;
int __scope;
size_t __guardsize;
int __stackaddr_set;
void *__stackaddr;
size_t __stacksize;
} pthread_attr_t;
typedef struct
{
struct pthreadfastlock _clock;
pthreaddescr cwaiting;
} pthreadcond_t;
typedef struct
{
int __dummy;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef struct
{
int _mreserved;
int _mcount;
pthreaddescr _mowner;
int _mkind;
struct pthreadfastlock mlock;
} pthreadmutex_t;
typedef struct
{
int __mutexkind;
} pthread_mutexattr_t;
typedef int pthread_once_t;
# 140 "/usr/include/bits/pthreadtypes.h" 3
typedef unsigned long int pthread_t;
# 144 "/usr/include/bits/types.h" 2 3
# 191 "/usr/include/unistd.h" 2 3
typedef __ssize_t ssize_t;
# 1 "/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h" 1 3
# 200 "/usr/include/unistd.h" 2 3
# 240 "/usr/include/unistd.h" 3
typedef __intptr_t intptr_t;
typedef __socklen_t socklen_t;
# 260 "/usr/include/unistd.h" 3
extern int access (__const char *__name, int __type) ;
# 290 "/usr/include/unistd.h" 3
extern __off_t lseek (int __fd, __off_t __offset, int __whence) ;
# 306 "/usr/include/unistd.h" 3
extern int close (int __fd) ;
extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ;
extern ssize_t write (int __fd, __const void *__buf, size_t __n) ;
# 353 "/usr/include/unistd.h" 3
extern int pipe (int __pipedes[2]) ;
# 362 "/usr/include/unistd.h" 3
extern unsigned int alarm (unsigned int __seconds) ;
# 371 "/usr/include/unistd.h" 3
extern unsigned int sleep (unsigned int __seconds) ;
extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
;
extern int usleep (__useconds_t __useconds) ;
extern int pause (void) ;
extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
;
extern int fchown (int __fd, __uid_t __owner, __gid_t __group) ;
extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
;
extern int chdir (__const char *__path) ;
extern int fchdir (int __fd) ;
# 423 "/usr/include/unistd.h" 3
extern char *getcwd (char *__buf, size_t __size) ;
# 436 "/usr/include/unistd.h" 3
extern char *getwd (char *__buf) ;
extern int dup (int __fd) ;
extern int dup2 (int __fd, int __fd2) ;
extern char **__environ;
extern int execve (__const char __path, char __const __argv[],
char *__const __envp[]) ;
# 467 "/usr/include/unistd.h" 3
extern int execv (__const char __path, char __const __argv[]) ;
extern int execle (__const char __path, __const char __arg, ...) ;
extern int execl (__const char __path, __const char __arg, ...) ;
extern int execvp (__const char __file, char __const __argv[]) ;
extern int execlp (__const char __file, __const char __arg, ...) ;
extern int nice (int __inc) ;
extern void _exit (int __status) __attribute__ ((__noreturn__));
# 1 "/usr/include/bits/confname.h" 1 3
# 25 "/usr/include/bits/confname.h" 3
enum
{
PCLINK_MAX,
PCMAX_CANON,
PCMAX_INPUT,
PCNAME_MAX,
PCPATH_MAX,
PCPIPE_BUF,
PCCHOWN_RESTRICTED,
PCNO_TRUNC,
PCVDISABLE,
PCSYNC_IO,
PCASYNC_IO,
PCPRIO_IO,
PCSOCK_MAXBUF,
PCFILESIZEBITS,
PCREC_INCR_XFER_SIZE,
PCREC_MAX_XFER_SIZE,
PCREC_MIN_XFER_SIZE,
PCREC_XFER_ALIGN,
PCALLOC_SIZE_MIN,
PCSYMLINK_MAX
};
enum
{
SCARG_MAX,
SCCHILD_MAX,
SCCLK_TCK,
SCNGROUPS_MAX,
SCOPEN_MAX,
SCSTREAM_MAX,
SCTZNAME_MAX,
SCJOB_CONTROL,
SCSAVED_IDS,
SCREALTIME_SIGNALS,
SCPRIORITY_SCHEDULING,
SCTIMERS,
SCASYNCHRONOUS_IO,
SCPRIORITIZED_IO,
SCSYNCHRONIZED_IO,
SCFSYNC,
SCMAPPED_FILES,
SCMEMLOCK,
SCMEMLOCK_RANGE,
SCMEMORY_PROTECTION,
SCMESSAGE_PASSING,
SCSEMAPHORES,
SCSHARED_MEMORY_OBJECTS,
SCAIO_LISTIO_MAX,
SCAIO_MAX,
SCAIO_PRIO_DELTA_MAX,
SCDELAYTIMER_MAX,
SCMQ_OPEN_MAX,
SCMQ_PRIO_MAX,
SCVERSION,
SCPAGESIZE,
SCRTSIG_MAX,
SCSEM_NSEMS_MAX,
SCSEM_VALUE_MAX,
SCSIGQUEUE_MAX,
SCTIMER_MAX,
SCBC_BASE_MAX,
SCBC_DIM_MAX,
SCBC_SCALE_MAX,
SCBC_STRING_MAX,
SCCOLL_WEIGHTS_MAX,
SCEQUIV_CLASS_MAX,
SCEXPR_NEST_MAX,
SCLINE_MAX,
SCRE_DUP_MAX,
SCCHARCLASS_NAME_MAX,
SC2_VERSION,
SC2CBIND,
SC2CDEV,
SC2_FORT_DEV,
SC2_FORT_RUN,
SC2_SW_DEV,
SC2_LOCALEDEF,
SCPII,
SCPII_XTI,
SCPII_SOCKET,
SCPII_INTERNET,
SCPII_OSI,
SCPOLL,
SCSELECT,
SCUIO_MAXIOV,
SCIOV_MAX = SCUIO_MAXIOV,
SCPII_INTERNET_STREAM,
SCPII_INTERNET_DGRAM,
SCPII_OSI_COTS,
SCPII_OSI_CLTS,
SCPII_OSI_M,
SCTIOVMAX,
SCTHREADS,
SCTHREAD_SAFE_FUNCTIONS,
SCGETGRRSIZE_MAX,
SCGETPWRSIZE_MAX,
SCLOGIN_NAME_MAX,
SCTTY_NAME_MAX,
SCTHREAD_DESTRUCTOR_ITERATIONS,
SCTHREAD_KEYS_MAX,
SCTHREAD_STACK_MIN,
SCTHREAD_THREADS_MAX,
SCTHREAD_ATTR_STACKADDR,
SCTHREAD_ATTR_STACKSIZE,
SCTHREAD_PRIORITY_SCHEDULING,
SCTHREAD_PRIO_INHERIT,
SCTHREAD_PRIO_PROTECT,
SCTHREAD_PROCESS_SHARED,
SCNPROCESSORS_CONF,
SCNPROCESSORS_ONLN,
SCPHYS_PAGES,
SCAVPHYS_PAGES,
SCATEXIT_MAX,
SCPASS_MAX,
SCXOPEN_VERSION,
SCXOPEN_XCU_VERSION,
SCXOPEN_UNIX,
SCXOPEN_CRYPT,
SCXOPEN_ENH_I18N,
SCXOPEN_SHM,
SC2_CHAR_TERM,
SC2CVERSION,
SC2_UPE,
SCXOPEN_XPG2,
SCXOPEN_XPG3,
SCXOPEN_XPG4,
SCCHAR_BIT,
SCCHAR_MAX,
SCCHAR_MIN,
SCINT_MAX,
SCINT_MIN,
SCLONG_BIT,
SCWORD_BIT,
SCMB_LEN_MAX,
SCNZERO,
SCSSIZE_MAX,
SCSCHAR_MAX,
SCSCHAR_MIN,
SCSHRT_MAX,
SCSHRT_MIN,
SCUCHAR_MAX,
SCUINT_MAX,
SCULONG_MAX,
SCUSHRT_MAX,
SCNL_ARGMAX,
SCNL_LANGMAX,
SCNL_MSGMAX,
SCNL_NMAX,
SCNL_SETMAX,
SCNL_TEXTMAX,
SCXBS5_ILP32_OFF32,
SCXBS5_ILP32_OFFBIG,
SCXBS5_LP64_OFF64,
SCXBS5_LPBIG_OFFBIG,
SCXOPEN_LEGACY,
SCXOPEN_REALTIME,
SCXOPEN_REALTIME_THREADS,
SCADVISORY_INFO,
SCBARRIERS,
SCBASE,
SCCLANGSUPPORT,
SCCLANGSUPPORT_R,
SCCLOCK_SELECTION,
SCCPUTIME,
SCTHREAD_CPUTIME,
SCDEVICE_IO,
SCDEVICE_SPECIFIC,
SCDEVICE_SPECIFIC_R,
SCFD_MGMT,
SCFIFO,
SCPIPE,
SCFILE_ATTRIBUTES,
SCFILE_LOCKING,
SCFILE_SYSTEM,
SCMONOTONIC_CLOCK,
SCMULTI_PROCESS,
SCSINGLE_PROCESS,
SCNETWORKING,
SCREADER_WRITER_LOCKS,
SCSPIN_LOCKS,
SCREGEXP,
SCREGEX_VERSION,
SCSHELL,
SCSIGNALS,
SCSPAWN,
SCSPORADIC_SERVER,
SCTHREAD_SPORADIC_SERVER,
SCSYSTEM_DATABASE,
SCSYSTEM_DATABASE_R,
SCTIMEOUTS,
SCTYPED_MEMORY_OBJECTS,
SCUSER_GROUPS,
SCUSER_GROUPS_R,
SC2_PBS,
SC2_PBS_ACCOUNTING,
SC2_PBS_LOCATE,
SC2_PBS_MESSAGE,
SC2_PBS_TRACK,
SCSYMLOOP_MAX,
SCSTREAMS,
SC2_PBS_CHECKPOINT,
SCV6_ILP32_OFF32,
SCV6_ILP32_OFFBIG,
SCV6_LP64_OFF64,
SCV6_LPBIG_OFFBIG,
SCHOST_NAME_MAX,
SCTRACE,
SCTRACE_EVENT_FILTER,
SCTRACE_INHERIT,
SCTRACE_LOG
};
enum
{
CSPATH,
# 563 "/usr/include/bits/confname.h" 3
CSV6_WIDTH_RESTRICTED_ENVS
};
# 501 "/usr/include/unistd.h" 2 3
extern long int pathconf (__const char *__path, int __name) ;
extern long int fpathconf (int __fd, int __name) ;
extern long int sysconf (int __name) __attribute__ ((__const__));
extern size_t confstr (int __name, char *__buf, size_t __len) ;
extern __pid_t getpid (void) ;
extern __pid_t getppid (void) ;
extern __pid_t getpgrp (void) ;
# 536 "/usr/include/unistd.h" 3
extern __pid_t __getpgid (__pid_t __pid) ;
# 545 "/usr/include/unistd.h" 3
extern int setpgid (__pid_t __pid, __pid_t __pgid) ;
# 562 "/usr/include/unistd.h" 3
extern int setpgrp (void) ;
# 580 "/usr/include/unistd.h" 3
extern __pid_t setsid (void) ;
extern __uid_t getuid (void) ;
extern __uid_t geteuid (void) ;
extern __gid_t getgid (void) ;
extern __gid_t getegid (void) ;
extern int getgroups (int __size, __gid_t __list[]) ;
# 613 "/usr/include/unistd.h" 3
extern int setuid (__uid_t __uid) ;
extern int setreuid (__uid_t __ruid, __uid_t __euid) ;
extern int seteuid (__uid_t __uid) ;
extern int setgid (__gid_t __gid) ;
extern int setregid (__gid_t __rgid, __gid_t __egid) ;
extern int setegid (__gid_t __gid) ;
extern __pid_t fork (void) ;
extern __pid_t vfork (void) ;
extern char *ttyname (int __fd) ;
extern int ttyname_r (int __fd, char *__buf, size_t __buflen) ;
extern int isatty (int __fd) ;
extern int ttyslot (void) ;
extern int link (__const char __from, __const char __to) ;
extern int symlink (__const char __from, __const char __to) ;
extern int readlink (__const char __restrict __path, char __restrict __buf,
size_t __len) ;
extern int unlink (__const char *__name) ;
extern int rmdir (__const char *__path) ;
extern __pid_t tcgetpgrp (int __fd) ;
extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) ;
extern char *getlogin (void) ;
# 717 "/usr/include/unistd.h" 3
extern int setlogin (__const char *__name) ;
# 726 "/usr/include/unistd.h" 3
# 1 "/usr/include/getopt.h" 1 3
# 47 "/usr/include/getopt.h" 3
extern char *optarg;
# 61 "/usr/include/getopt.h" 3
extern int optind;
extern int opterr;
extern int optopt;
# 145 "/usr/include/getopt.h" 3
extern int getopt (int ___argc, char const ___argv, const char *__shortopts);
# 727 "/usr/include/unistd.h" 2 3
extern int gethostname (char *__name, size_t __len) ;
extern int sethostname (__const char *__name, size_t __len) ;
extern int sethostid (long int __id) ;
extern int getdomainname (char *__name, size_t __len) ;
extern int setdomainname (__const char *__name, size_t __len) ;
extern int vhangup (void) ;
extern int revoke (__const char *__file) ;
extern int profil (unsigned short int *__sample_buffer, size_t __size,
size_t __offset, unsigned int __scale) ;
extern int acct (__const char *__name) ;
extern char *getusershell (void) ;
extern void endusershell (void) ;
extern void setusershell (void) ;
extern int daemon (int __nochdir, int __noclose) ;
extern int chroot (__const char *__path) ;
extern char *getpass (__const char *__prompt) ;
extern int fsync (int __fd) ;
extern long int gethostid (void) ;
extern void sync (void) ;
extern int getpagesize (void) __attribute__ ((__const__));
extern int truncate (__const char *__file, __off_t __length) ;
# 841 "/usr/include/unistd.h" 3
extern int ftruncate (int __fd, __off_t __length) ;
# 857 "/usr/include/unistd.h" 3
extern int getdtablesize (void) ;
# 866 "/usr/include/unistd.h" 3
extern int brk (void *__addr) ;
extern void *sbrk (intptr_t __delta) ;
# 887 "/usr/include/unistd.h" 3
extern long int syscall (long int __sysno, ...) ;
# 907 "/usr/include/unistd.h" 3
extern int lockf (int __fd, int __cmd, __off_t __len) ;
# 938 "/usr/include/unistd.h" 3
extern int fdatasync (int __fildes) ;
# 983 "/usr/include/unistd.h" 3
extern int pthread_atfork (void (*__prepare) (void),
void (*__parent) (void),
void (*__child) (void)) ;
# 3 "readblock.c" 2
ssize_t readblock(int fd, void *buf, size_t size) {
char *bufp;
size_t bytestoread;
ssize_t bytesread;
size_t totalbytes;
for (bufp = buf, bytestoread = size, totalbytes = 0;
bytestoread > 0;
bufp += bytesread, bytestoread -= bytesread) {
bytesread = read(fd, bufp, bytestoread);
if ((bytesread == 0) && (totalbytes == 0))
return 0;
if (bytesread == 0) {
(*__errno_location ()) = 22;
return -1;
}
if ((bytesread) == -1 && ((*__errno_location ()) != 4))
return -1;
if (bytesread == -1)
bytesread = 0;
totalbytes += bytesread;
}
return totalbytes;
}
| Leave a Reply |