⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fcb.h

📁 GNU FreeDOS兼容MS DOS很好的东东.
💻 H
字号:
/****************************************************************//*                                                              *//*                            fcb.h                             *//*                                                              *//*    FAT FCB and extended FCB data structures & declarations   *//*                                                              *//*                      November 23, 1991                       *//*                                                              *//*                      Copyright (c) 1995                      *//*                      Pasquale J. Villani                     *//*                      All Rights Reserved                     *//*                                                              *//* This file is part of DOS-C.                                  *//*                                                              *//* DOS-C is free software; you can redistribute it and/or       *//* modify it under the terms of the GNU General Public License  *//* as published by the Free Software Foundation; either version *//* 2, or (at your option) any later version.                    *//*                                                              *//* DOS-C is distributed in the hope that it will be useful, but *//* WITHOUT ANY WARRANTY; without even the implied warranty of   *//* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See    *//* the GNU General Public License for more details.             *//*                                                              *//* You should have received a copy of the GNU General Public    *//* License along with DOS-C; see the file COPYING.  If not,     *//* write to the Free Software Foundation, 675 Mass Ave,         *//* Cambridge, MA 02139, USA.                                    *//****************************************************************/#ifdef MAIN#ifdef VERSION_STRINGSstatic BYTE *fcb_hRcsId =    "$Id: fcb.h,v 1.8 2002/12/09 00:17:09 bartoldeman Exp $";#endif#endif/* fcb convience defines                                                *//* block device info                                                    */#define FID_CHARDEV     0x80    /* 1 defines character device   */                                        /* 0 defines block file         */#define FID_NOWRITE     0x40    /* 0 file dirty (write occured) */                                        /* 1 file has no changes        */#define FID_MASK        0x3f    /* file #                       *//* char device info                                                     */#define FID_EOF         0x40    /* 1 = no eof detected          */                                        /* 0 = end of file on input     */#define FID_BINARY      0x20    /* 1 = binary (raw) mode device */                                        /* 0 = ascii (cooked) mode device */#define FID_CLOCK       0x08    /* Clock device                 */#define FID_NULL        0x04    /* Null device                  */#define FID_CONOUT      0x02    /* Console output device        */#define FID_CONIN       0x01    /* Console input device         */#ifndef FNAME_SIZE#define FNAME_SIZE      8       /* limit on file name           */#endif#ifndef FEXT_SIZE#define FEXT_SIZE       3       /* limit on extension           */#endif#ifndef FDFLT_DRIVE#define FDFLT_DRIVE     0       /* default drive                */#endif#define PARSE_SEP_STOP          0x01#define PARSE_DFLT_DRIVE        0x02#define PARSE_BLNK_FNAME        0x04#define PARSE_BLNK_FEXT         0x08#define PARSE_RET_NOWILD        0#define PARSE_RET_WILD          1#define PARSE_RET_BADDRIVE      0xff#define FCB_READ  0#define FCB_WRITE 1/* File Control Block (FCB)                                             */typedef struct {  UBYTE fcb_drive;              /* Drive number 0=default, 1=A, etc     */  BYTE fcb_fname[FNAME_SIZE];   /* File name                    */  BYTE fcb_fext[FEXT_SIZE];     /* File name Extension          */  UWORD fcb_cublock;            /* Current block number of              */  /* 128 records/block, for seq. r/w      */  UWORD fcb_recsiz;             /* Logical record size in bytes,        */  /* default = 128                        */  ULONG fcb_fsize;              /* File size in bytes                   */  date fcb_date;                /* Date file created                    */  time fcb_time;                /* Time of last write                   */  /* the following are reserved by system                         */  BYTE fcb_sftno;               /* Device ID                            */  BYTE fcb_attrib_hi;           /* share info, dev attrib word hi       */  BYTE fcb_attrib_lo;           /* dev attrib word lo, open mode        */  UWORD fcb_strtclst;           /* file starting cluster                */  UWORD fcb_dirclst;            /* cluster of the dir entry             */  UBYTE fcb_diroff_unused;      /* offset of the dir entry              */  /* end reserved                                                 */  UBYTE fcb_curec;              /* Current block number of              */  ULONG fcb_rndm;               /* Current relative record number       */} fcb;/* FAT extended fcb                                                     */typedef struct {  UBYTE xfcb_flag;              /* 0xff indicates Extended FCB  */  BYTE xfcb_resvrd[5];          /* Reserved                     */  UBYTE xfcb_attrib;            /* Attribute                    */  fcb xfcb_fcb;} xfcb;typedef struct {  UBYTE renDriveID;             /* drive no.                    */  BYTE renOldName[8];           /* Old Filename                 */  BYTE renOldExtent[3];         /* Old File Extension           */  BYTE renReserved1[5];  BYTE renNewName[8];           /* New Filename                 */  BYTE renNewExtent[3];         /* New FileExtension            */  BYTE renReserved2[9];} rfcb;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -