home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 032.lha / include / libraries / dos.g < prev    next >
Encoding:
Text File  |  1987-05-17  |  4.5 KB  |  172 lines

  1. *char DOSNAME = "dos.library";
  2.  
  3. ulong
  4.     MODE_READWRITE    = 1004,
  5.     MODE_READONLY    = 1005,
  6.     MODE_OLDFILE    = 1005,
  7.     MODE_NEWFILE    = 1006;
  8.  
  9. long
  10.     OFFSET_BEGINNING    = -1,
  11.     OFFSET_BEGINING    = OFFSET_BEGINNING,
  12.     OFFSET_CURRENT    = 0,
  13.     OFFSET_END        = 1,
  14.  
  15.     SHARED_LOCK     = -2,
  16.     ACCESS_READ     = -2,
  17.     EXCLUSIVE_LOCK    = -1,
  18.     ACCESS_WRITE    = -1;
  19.  
  20. type
  21.     BPTR = ulong,
  22.     Handle_t = BPTR,
  23.     Lock_t = BPTR,
  24.     Segment_t = BPTR,
  25.  
  26.     DateStamp_t = struct {
  27.     ulong ds_Days;
  28.     ulong ds_Minute;
  29.     ulong ds_Tick;
  30.     };
  31.  
  32. ulong
  33.     TICKS_PER_SECOND    = 50;
  34.  
  35. type
  36.     FileInfoBlock_t = struct {
  37.     ulong fib_DiskKey;
  38.     ulong fib_DirEntryType;
  39.     [108]char fib_FileName;
  40.     ulong fib_Protection;
  41.     ulong fib_EntryType;
  42.     ulong fib_Size;
  43.     ulong fib_NumBlocks;
  44.     DateStamp_t fib_Date;
  45.     [116]char fib_Comment;
  46.     };
  47.  
  48. ulong
  49.     FIBB_ARCHIVE    = 4,
  50.     FIBB_READ        = 3,
  51.     FIBB_WRITE        = 2,
  52.     FIBB_EXECUTE    = 1,
  53.     FIBB_DELETE     = 0,
  54.     FIBF_ARCHIVE    = 1 << FIBB_ARCHIVE,
  55.     FIBF_READ        = 1 << FIBB_READ,
  56.     FIBF_WRITE        = 1 << FIBB_WRITE,
  57.     FIBF_EXECUTE    = 1 << FIBB_EXECUTE,
  58.     FIBF_DELETE     = 1 << FIBB_DELETE;
  59.  
  60. type
  61.     InfoData_t = struct {
  62.     ulong id_NumSoftErrors;
  63.     ulong id_UnitNumber;
  64.     ulong id_DiskState;
  65.     ulong id_NumBlocks;
  66.     ulong id_NumBlocksUsed;
  67.     ulong id_BytesPerBlock;
  68.     ulong id_DiskType;
  69.     BPTR id_VolumeNode;
  70.     ulong id_InUse;
  71.     };
  72.  
  73. ulong
  74.     ID_WRITE_PROTECTED    = 80,
  75.     ID_VALIDATING    = 81,
  76.     ID_VALIDATED    = 82,
  77.  
  78.     ID_NO_DISK_PRESENT    = 0xffffffff,
  79.     ID_UNREADABLE_DISK    = ('B' - '\e') << 24 | ('A' - '\e') << 16 |
  80.               ('D' - '\e') <<  8,
  81.     ID_DOS_DISK     = ('D' - '\e') << 24 | ('O' - '\e') << 16 |
  82.               ('S' - '\e') <<  8,
  83.     ID_NOT_REALLY_DOS    = ('N' - '\e') << 24 | ('D' - '\e') << 16 |
  84.               ('O' - '\e') <<  8 | ('S' - '\e'),
  85.     ID_KICKSTART_DISK    = ('K' - '\e') << 24 | ('I' - '\e') << 16 |
  86.               ('C' - '\e') <<  8 | ('K' - '\e'),
  87.  
  88.     ERROR_NO_FREE_STORE         = 103,
  89.     ERROR_TASK_TABLE_FULL        = 105,
  90.     ERROR_LINE_TOO_LONG         = 120,
  91.     ERROR_FILE_NOT_OBJECT        = 121,
  92.     ERROR_INVALID_RESIDENT_LIBRARY    = 122,
  93.     ERROR_NO_DEFAULT_DIR        = 201,
  94.     ERROR_OBJECT_IN_USE         = 202,
  95.     ERROR_OBJECT_EXISTS         = 203,
  96.     ERROR_DIR_NOT_FOUND         = 204,
  97.     ERROR_OBJECT_NOT_FOUND        = 205,
  98.     ERROR_BAD_STREAM_NAME        = 206,
  99.     ERROR_OBJECT_TOO_LARGE        = 207,
  100.     ERROR_ACTION_NOT_KNOWN        = 209,
  101.     ERROR_INVALID_COMPONENT_NAME    = 210,
  102.     ERROR_INVALID_LOCK            = 211,
  103.     ERROR_OBJECT_WRONG_TYPE        = 212,
  104.     ERROR_DISK_NOT_VALIDATED        = 213,
  105.     ERROR_DISK_WRITE_PROTECTED        = 214,
  106.     ERROR_RENAME_ACROSS_DEVICES     = 215,
  107.     ERROR_DIRECTORY_NOT_EMPTY        = 216,
  108.     ERROR_TOO_MANY_LEVELS        = 217,
  109.     ERROR_DEVICE_NOT_MOUNTED        = 218,
  110.     ERROR_SEEK_ERROR            = 219,
  111.     ERROR_COMMENT_TOO_BIG        = 220,
  112.     ERROR_DISK_FULL            = 221,
  113.     ERROR_DELETE_PROTECTED        = 222,
  114.     ERROR_WRITE_PROTECTED        = 223,
  115.     ERROR_READ_PROTECTED        = 224,
  116.     ERROR_NOT_A_DOS_DISK        = 225,
  117.     ERROR_NO_DISK            = 226,
  118.     ERROR_NO_MORE_ENTRIES        = 232,
  119.  
  120.     RETURN_OK                = 0,
  121.     RETURN_WARN             = 5,
  122.     RETURN_ERROR            = 10,
  123.     RETURN_FAIL             = 20,
  124.  
  125.     SIGBREAKB_CTRL_C    = 12,
  126.     SIGBREAKB_CTRL_D    = 13,
  127.     SIGBREAKB_CTRL_E    = 14,
  128.     SIGBREAKB_CTRL_F    = 15,
  129.  
  130.     SIGBREAKF_CTRL_C    = 1 << SIGBREAKB_CTRL_C,
  131.     SIGBREAKF_CTRL_D    = 1 << SIGBREAKB_CTRL_D,
  132.     SIGBREAKF_CTRL_E    = 1 << SIGBREAKB_CTRL_E,
  133.     SIGBREAKF_CTRL_F    = 1 << SIGBREAKB_CTRL_F;
  134.  
  135. extern
  136.     OpenDosLibrary(ulong version)*DosLibrary_t,
  137.     CloseDosLibrary()void,
  138.  
  139.     Close(Handle_t fd)void,
  140.     CreateDir(*char name)Lock_t,
  141.     CurrentDir(Lock_t lock)Lock_t,
  142.     DeleteFile(*char name)bool,
  143.     DupLock(Lock_t lock)Lock_t,
  144.     Examine(Lock_t lock; *FileInfoBlock_t fib)bool,
  145.     ExNext(Lock_t lock; *FileInfoBlock_t fib)bool,
  146.     Info(Lock_t lock; *InfoData_t id)bool,
  147.     Input()Handle_t,
  148.     IoErr()ulong,
  149.     IsInteractive(Handle_t fd)bool,
  150.     Lock(*char name; long accessMode)Lock_t,
  151.     Open(*char name; ulong accessMode)Handle_t,
  152.     Output()Handle_t,
  153.     ParentDir(Lock_t lock)Lock_t,
  154.     Read(Handle_t fd; *byte buffer; ulong length)ulong,
  155.     Rename(*char oldName, newName)bool,
  156.     Seek(Handle_t fd; long position, seekMode)long,
  157.     SetComment(*char name, comment)bool,
  158.     SetProtection(*char name; ulong mask)bool,
  159.     UnLock(Lock_t lock)void,
  160.     WaitForChar(Handle_t fd; ulong timeout)bool,
  161.     Write(Handle_t fd; *byte buffer; ulong length)ulong,
  162.  
  163.     CreateProc(*char name; long pri; Segment_t seg; ulong stackSize)*MsgPort_t,
  164.     DateStamp(*DateStamp_t ds)void,
  165.     Delay(ulong timeout)void,
  166.     DeviceProc(*char name)*MsgPort_t,
  167.     Exit(ulong returnCode)void,
  168.  
  169.     Execute(*char commandString; Handle_t inputFd, outputFd)bool,
  170.     LoadSeg(*char name)Segment_t,
  171.     UnLoadSeg(Segment_t segment)bool;
  172.