Annotation of researchv8dc/cmd/asd/asd.h, revision 1.1

1.1     ! root        1: #include "ar.h"
        !             2: #include <stdio.h>
        !             3: #include <sys/types.h>
        !             4: #include <sys/stat.h>
        !             5: #include <signal.h>
        !             6: #include <ctype.h>
        !             7: #include <errno.h>
        !             8: 
        !             9: /* longest archive component name we will generate */
        !            10: #define MAXCOMP 14
        !            11: 
        !            12: /* macro to allocate storage of a given type */
        !            13: #define new(t) ((t *) alloc (sizeof (t)))
        !            14: 
        !            15: /* constants for tmpname function */
        !            16: #define TMPDIR "/tmp/"
        !            17: #define TMPNAML        (sizeof(TMPDIR) + 15)
        !            18: 
        !            19: /* some systems define SIG_TYP, others don't, so we make our own */
        !            20: typedef int    (*Sig_typ)();
        !            21: 
        !            22: struct replist {
        !            23:        char *source;
        !            24:        char *dest;
        !            25:        struct replist *link;
        !            26: } *replist;
        !            27: 
        !            28: /* structures to deal with archive headers */
        !            29: struct ar_hdr ar_hdr;
        !            30: struct {
        !            31:        long size;
        !            32:        int mode;
        !            33:        long date;
        !            34: } hdr;
        !            35: 
        !            36: /*
        !            37:  *     This stat buffer makes it easy to check that none of the
        !            38:  *     input files is the same as the output.  This will avoid
        !            39:  *     filling up the entire file system by inadvertently saying
        !            40:  *
        !            41:  *             mkpkg . > foo
        !            42:  */
        !            43: struct stat outsb;
        !            44: 
        !            45: /*
        !            46:  *     The following structure helps keep track of things being packaged.
        !            47:  *     iname is the internal name of the component -- in other words,
        !            48:  *     the archive element name.  ename is the (short) pathname of the
        !            49:  *     file.  The structures are chained by the "link" field.  All the
        !            50:  *     other fields are copies of things returned by "stat" and are
        !            51:  *     used mostly to make sure nothing changed while we were packaging.
        !            52:  *     head and tail point to the first and last items in the chain.
        !            53:  *     The first item is known to refer to the "Instructions" component.
        !            54:  */
        !            55: struct pack {
        !            56:        char *iname;
        !            57:        char *ename;
        !            58:        struct pack *link;
        !            59:        dev_t dev;
        !            60:        ino_t ino;
        !            61:        int uid, gid, mode;
        !            62:        time_t time;
        !            63:        off_t size;
        !            64: };
        !            65: 
        !            66: struct pack *pkhead, *pktail;
        !            67: 
        !            68: 
        !            69: FILE *popen();
        !            70: char *alloc();
        !            71: char *copy();
        !            72: char *fgets();
        !            73: char *fullname();
        !            74: char *getfield();
        !            75: char *getpass();
        !            76: char *getpath();
        !            77: char *hextab;
        !            78: char *iname();
        !            79: char *index();
        !            80: char *instr;
        !            81: char *keyfile;
        !            82: char *mktemp();
        !            83: char *optarg;
        !            84: char *pwd();
        !            85: char *ralloc();
        !            86: char *rindex();
        !            87: char *strcat();
        !            88: char *strcpy();
        !            89: char *strgid();
        !            90: char *struid();
        !            91: char *tmpname();
        !            92: char *transname();
        !            93: int Kflag;
        !            94: int bflag;
        !            95: int consider();
        !            96: int dflag;
        !            97: int errno;
        !            98: int kflag;
        !            99: int nflag;
        !           100: int install();
        !           101: int numgid();
        !           102: int numuid();
        !           103: int optind;
        !           104: int package();
        !           105: int pkgend();
        !           106: int retcode;
        !           107: int seal();
        !           108: int unseal();
        !           109: int vflag;
        !           110: long cvlong();
        !           111: long read_header();
        !           112: void delete();
        !           113: void geteol();
        !           114: void next_header();
        !           115: void pkgstart();
        !           116: void pkgfile();
        !           117: void putpath();

unix.superglobalmegacorp.com

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