Annotation of coherent/d/bin/dos/dos1.h, revision 1.1.1.1

1.1       root        1: /* dos1.h */
                      2: /* Common header for "dos" and "dosshrink" commands. */
                      3: 
                      4: #include <stdio.h>
                      5: #include "bpb.h"
                      6: #include "mdir.h"
                      7: 
                      8: /* Manifest constants. */
                      9: #define        BBSIZE          512             /* Boot block size              */
                     10: #define        CLBAD           0xFFF7          /* FAT bad cluster              */
                     11: #define        CLEOF           0xFFFF          /* FAT end of file marker       */
                     12: #define        CLFREE          0x0000          /* FAT free cluster             */
                     13: #define        CLMAX           0xFFEF          /* Maximum FAT normal cluster   */
                     14: /*
                     15:  * The FAT cache must hold a complete 1.5-byte FAT expanded to 2 bytes/entry,
                     16:  * so it must contain at least 4096 * 2 = 8192 bytes or 16 sectors.
                     17:  */
                     18: #define        FATCSECS        (16)            /* Sectors in FAT cache         */
                     19: #define        FATCNPSEC       (BBSIZE/sizeof(short))  /* 2-byte FAT clusters per sector */
                     20: #define        FATCCOUNT       (FATCSECS*FATCNPSEC)    /* 2-byte FAT cache entries */
                     21: #define        FATMASK         0x0FFF          /* Mask for 1.5-byte FAT entry  */
                     22: #define        INFILE          "/dev/dos"      /* Default input file name      */
                     23: #define        isdir(mdp)      ((mdp)->m_attr&MSUBDIR) /* MS-DOS directory test */
                     24: #define        ishidden(mdp)   ((mdp)->m_attr&MHIDDEN) /* MS-DOS directory test */
                     25: #define        is_media_id(n)  (((n)&0xF0)==0xF0) /* Media descriptor test     */
                     26: 
                     27: #if    DEBUG
                     28: #define        dbprintf(arglist) printf arglist
                     29: #else
                     30: #define        dbprintf(arglist)
                     31: #endif
                     32: 
                     33: /* Externals. */
                     34: extern void    exit();
                     35: extern long    lseek();
                     36: extern char    *malloc();
                     37: 
                     38: /* Globals in dos1.c. */
                     39: /* Diskette parameters. */
                     40: extern BPB             d8floppy;
                     41: extern BPB             d9floppy;
                     42: extern BPB             d15floppy;
                     43: extern BPB             d18floppy;
                     44: extern BPB             q9floppy;
                     45: extern BPB             s8floppy;
                     46: extern BPB             s9floppy;
                     47: 
                     48: /* Other globals. */
                     49: extern char            *argv0;
                     50: extern unsigned char   bootb[BBSIZE];
                     51: extern BPB             *bpb;
                     52: extern short           cflag;
                     53: extern unsigned char   *clbuf;
                     54: extern unsigned short  clsize;
                     55: extern unsigned short  dirbase;
                     56: extern unsigned short  dirsize;
                     57: extern unsigned short  fatbase;
                     58: extern unsigned short  fatbytes;
                     59: extern unsigned short  *fatcache;
                     60: extern unsigned short  fatccount;
                     61: extern unsigned short  fatcfirst;
                     62: extern short           fatcflag;
                     63: extern unsigned short  fatcmax;
                     64: extern unsigned short  fatcmin;
                     65: extern unsigned short  fatsize;
                     66: extern unsigned short  filebase;
                     67: extern short           fsfd;
                     68: extern unsigned short  heads;
                     69: extern unsigned short  maxcluster;
                     70: extern unsigned short  mdirsize;
                     71: extern unsigned short  nspt;
                     72: extern unsigned short  sectors;
                     73: extern unsigned short  ssize;
                     74: extern char            *usagemsg;
                     75: extern short           vflag;
                     76: 
                     77: /* Functions in dos1.c. */
                     78: extern unsigned long   cltosec();
                     79: extern void            decodefat();
                     80: extern void            diskread();
                     81: extern void            diskseek();
                     82: extern void            diskwrite();
                     83: extern void            fatal();
                     84: extern void            fatcflush();
                     85: extern void            fatcread();
                     86: extern unsigned short  getcluster();
                     87: extern char            *lcname();
                     88: extern void            putcluster();
                     89: extern void            readfat();
                     90: extern void            setglobals();
                     91: extern void            usage();
                     92: extern void            writefat();
                     93: extern void            xpartition();
                     94: 
                     95: /* end of dos1.h */
                     96: 

unix.superglobalmegacorp.com

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