Annotation of pgp/src/fileio.h, revision 1.1.1.7

1.1.1.7 ! root        1: #define DISKBUFSIZE 4096       /* Size of I/O buffers */
        !             2: 
        !             3: #ifndef SEEK_SET
        !             4: #define SEEK_SET 0
        !             5: #define        SEEK_CUR 1
        !             6: #define SEEK_END 2
        !             7: #endif
        !             8: 
        !             9: #ifdef VMS
        !            10: #define PGP_SYSTEM_DIR "PGP$LIBRARY:"
        !            11: #define FOPRBIN                "rb","ctx=stm"
        !            12: #define FOPRTXT                "r"
        !            13: #if 0
        !            14: #define FOPWBIN                "ab","fop=cif"
        !            15: #define FOPWTXT                "a","fop=cif"
        !            16: #else
        !            17: #define FOPWBIN                "wb"
        !            18: #define FOPWTXT                "w"
        !            19: #endif
        !            20: #define FOPRWBIN       "r+b","ctx=stm"
        !            21: #define FOPWPBIN       "w+b","ctx=stm"
        !            22: #else
        !            23: #ifdef UNIX
        !            24: /*
        !            25:  * Directory for system-wide files.  Must end in a /, ready for
        !            26:  * dumb appending of the filename.  (If not defined, it's not used.)
        !            27:  */
        !            28: #ifdef LINUX
        !            29: #  define PGP_SYSTEM_DIR "/var/lib/pgp/"
        !            30: #else
        !            31: #  define PGP_SYSTEM_DIR "/usr/local/lib/pgp/"
        !            32: #endif
        !            33: #define FOPRBIN                "r"
        !            34: #define FOPRTXT                "r"
        !            35: #define FOPWBIN                "w"
        !            36: #define FOPWTXT                "w"
        !            37: #define FOPRWBIN       "r+"
        !            38: #define FOPWPBIN       "w+"
        !            39: #else /* !UNIX && !VMS */
        !            40: #define FOPRBIN                "rb"
        !            41: #define FOPRTXT                "r"
        !            42: #define FOPWBIN                "wb"
        !            43: #define FOPWTXT                "w"
        !            44: #define FOPRWBIN       "r+b"
        !            45: #define FOPWPBIN       "w+b"
        !            46: #endif /* UNIX */
        !            47: #endif /* VMS */
        !            48: 
        !            49: #define        TMP_WIPE                1
        !            50: #define        TMP_TMPDIR              4
        !            51: 
        !            52: #define equal_buffers(buf1,buf2,count) !memcmp( buf1, buf2, count )
        !            53: 
        !            54: /* Returns TRUE iff file is can be opened for reading. */
        !            55: boolean file_exists(char *filename);
        !            56: 
        !            57: /* Returns TRUE iff file can be opened for writing. Does not harm file! */
        !            58: boolean file_ok_write(char *filename);
        !            59: 
        !            60: /* Completely overwrite and erase file of given name, so that no sensitive
        !            61:    information is left on the disk */
        !            62: int wipefile(char *filename);
        !            63: 
        !            64: /* Return the after-slash part of the filename */
        !            65: char   *file_tail (char *filename);
        !            66: /* Returns TRUE if user left off file extension, allowing default */
        !            67: boolean no_extension(char *filename);
        !            68: 
        !            69: /* Deletes trailing ".xxx" file extension after the period */
        !            70: void drop_extension(char *filename);
        !            71: 
        !            72: /* Append filename extension if there isn't one already */
        !            73: void default_extension(char *filename, char *extension);
        !            74: 
        !            75: /* Change the filename extension */
        !            76: void force_extension(char *filename, char *extension);
        !            77: 
        !            78: /* Get yes/no answer from user, returns TRUE for yes, FALSE for no */
        !            79: boolean getyesno(char default_answer);
        !            80: 
        !            81: /* If luser consents to it, change the filename extension */
        !            82: char *maybe_force_extension(char *filename, char *extension);
        !            83: 
        !            84: /* Builds a filename with a complete path specifier from the environmental
        !            85:    variable PGPPATH */
        !            86: char *buildfilename(char *result, char *fname);
        !            87: 
        !            88: /* The same, but also searches PGP_SYETEM_DIR */
        !            89: char *buildsysfilename(char *result, char *fname);
        !            90: 
        !            91: /* Build a path for fileName based on origPath */
        !            92: int build_path(char *path, char *fileName, char *origPath);
        !            93: 
        !            94: /* Convert filename to canonical form, with slashes as separators */
        !            95: void file_to_canon(char *filename);
        !            96: 
        !            97: /* Convert filename from canonical to local form */
        !            98: void file_from_canon(char *filename);
        !            99: 
        !           100: /* Copy file f to file g, for longcount bytes */
        !           101: int copyfile(FILE *f, FILE *g, word32 longcount);
        !           102: 
        !           103: /* Copy file f to file g, for longcount bytes, positioning f at fpos */
        !           104: int copyfilepos (FILE *f, FILE *g, word32 longcount, word32 fpos);
        !           105: 
        !           106: /* Copy file f to file g, for longcount bytes.  Convert to canonical form
        !           107:    as we go.  f is open in text mode.  Canonical form uses crlf's as line
        !           108:    separators */
        !           109: int copyfile_to_canon (FILE *f, FILE *g, word32 longcount);
        !           110: 
        !           111: /* Copy file f to file g, for longcount bytes.  Convert from canonical to
        !           112:    local form as we go.  g is open in text mode.  Canonical form uses crlf's
        !           113:    as line separators */
        !           114: int copyfile_from_canon (FILE *f, FILE *g, word32 longcount);
        !           115: 
        !           116: /* Copy srcFile to destFile */
        !           117: int copyfiles_by_name(char *srcFile, char *destFile);
        !           118: 
        !           119: /* Copy srcFile to destFile, converting to canonical text form */
        !           120: int make_canonical(char *srcFile, char *destFile);
        !           121: 
        !           122: /* Like rename() but will try to copy the file if the rename fails. This is
        !           123:    because under OS's with multiple physical volumes if the source and
        !           124:    destination are on different volumes the rename will fail */
        !           125: int rename2(char *srcFile, char *destFile);
        !           126: 
        !           127: /* Read the data from stdin to the phantom input file */
        !           128: int readPhantomInput(char *filename);
        !           129: 
        !           130: /* Write the data from the phantom output file to stdout */
        !           131: int writePhantomOutput(char *filename);
        !           132: 
        !           133: /* Return the size from the current position of file f to the end */
        !           134: word32 fsize (FILE *f);
        !           135: 
        !           136: /* Return TRUE if file filename is a text file */
        !           137: int is_text_file (char *filename);
        !           138: 
        !           139: FILE *fopenbin(char *, char *);
        !           140: FILE *fopentxt(char *, char *);
        !           141: 
        !           142: VOID *xmalloc(unsigned);
        !           143: 
        !           144: char *tempfile(int);
        !           145: void rmtemp(char *);
        !           146: char *savetemp(char *, char *);
        !           147: char *ck_dup_output(char *, boolean, boolean);
        !           148: void cleanup_tmpf(void);
        !           149: int savetempbak(char *, char *);
        !           150: 
        !           151: extern int write_error(FILE *f);
        !           152: extern void settmpdir(char *path);
        !           153: extern void setoutdir(char *filename);
        !           154: extern boolean is_tempfile(char *path);
        !           155: extern boolean has_extension(char *filename, char *extension);
        !           156: 
        !           157: /* Directories to search for the manuals */
        !           158: extern char const * const manual_dirs[];
        !           159: /* Returns non-zero if any manuals are missing */
        !           160: unsigned manuals_missing(void);
        !           161: 
        !           162: #ifdef __PUREC__
        !           163: int access(const char *name,int flag);
        !           164: #endif
        !           165: 
        !           166: #ifdef MACTC5
        !           167: void mac_cleanup_tmpf(void);
        !           168: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.