rpm  4.10.0
rpmio.h
Go to the documentation of this file.
00001 #ifndef H_RPMIO
00002 #define H_RPMIO
00003 
00009 #include <sys/types.h>
00010 #include <sys/stat.h>
00011 #include <stdio.h>
00012 #include <stdlib.h>
00013 #include <unistd.h>
00014 
00015 #include <rpm/rpmtypes.h>
00016 #include <rpm/rpmsw.h>
00017 
00018 #ifdef __cplusplus
00019 extern "C" {
00020 #endif
00021 
00024 typedef const struct FDIO_s * FDIO_t;
00025 
00026 
00034 const char * Fstrerror(FD_t fd);
00035 
00039 ssize_t Fread(void * buf, size_t size, size_t nmemb, FD_t fd);
00040 
00044 ssize_t Fwrite(const void * buf, size_t size, size_t nmemb, FD_t fd);
00045 
00049 int Fseek(FD_t fd, off_t offset, int whence);
00050 
00054 off_t Ftell(FD_t fd);
00055 
00059 int Fclose( FD_t fd);
00060 
00063 FD_t    Fdopen(FD_t ofd, const char * fmode);
00064 
00068 FD_t    Fopen(const char * path,
00069                         const char * fmode);
00070 
00071 
00075 int Fflush(FD_t fd);
00076 
00080 int Ferror(FD_t fd);
00081 
00085 int Fileno(FD_t fd);
00086 
00090 int Fcntl(FD_t fd, int op, void *lip);
00091 
00095 const char * Fdescr(FD_t fd);
00096 
00103 off_t   fdSize(FD_t fd);
00104 
00107 FD_t fdDup(int fdno);
00108 
00111 FD_t fdLink(FD_t fd);
00112 
00115 FD_t fdFree(FD_t fd);
00116 
00119 off_t ufdCopy(FD_t sfd, FD_t tfd);
00120 
00124 typedef enum fdOpX_e {
00125     FDSTAT_READ         = 0,    
00126     FDSTAT_WRITE        = 1,    
00127     FDSTAT_SEEK         = 2,    
00128     FDSTAT_CLOSE        = 3,    
00129     FDSTAT_DIGEST       = 4,    
00130     FDSTAT_MAX          = 5
00131 } fdOpX;
00132 
00136 rpmop fdOp(FD_t fd, fdOpX opx);
00137 
00138 #ifdef __cplusplus
00139 }
00140 #endif
00141 
00142 #endif  /* H_RPMIO */