home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / DC-POS24.LZX / pOS / IncPOS.lzx / pDOS / Lock.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-18  |  1.9 KB  |  69 lines

  1. #ifndef __INC_POS_PDOS_LOCK_H
  2. #define __INC_POS_PDOS_LOCK_H
  3. /*******************************************************************
  4.  Includes Release 24
  5.  (C) Copyright 1995-1997 proDAD
  6.      All Rights Reserved
  7.  
  8.  $AUT Holger Burkarth
  9.  $DAT >>Lock.h<<   02 Dec 1996    11:28:25 - (C) ProDAD
  10. *******************************************************************/
  11. #ifndef __INC_POS_PDOS_DOSTYPES_H
  12. #include <pDOS/DosTypes.h>
  13. #endif
  14. #ifndef __INC_POS_PEXEC_LIST_H
  15. #include <pExec/List.h>
  16. #endif
  17.  
  18. /*----------------------------------
  19. -----------------------------------*/
  20. struct pOS_FileLock
  21. {
  22.   struct pOS_Node       fl_Node;
  23.   struct pOS_DosDevice *fl_DosDev;  /*  */
  24.   UBYTE                 fl_Access;  /* (enum pOS_FileLockAccess) */
  25.   UBYTE                 fl_Flags;   /* (enum pOS_FileLockFlags) */
  26.   UWORD                 fl_Count;   /* Mehrfachnutzung */
  27.  
  28.   UBYTE fl_Reserved[8]; /* *** must be null */
  29. };
  30.  
  31.  
  32. /** pOS_LockObject() **/
  33. enum pOS_FileLockAccess /** fl_Access **/
  34. {
  35.   FILELKACC_Shared    = 0x0000,
  36.   FILELKACC_Exclusive = 0x0001, /* nur einer darf */
  37.  
  38.   FILELKACC_Unique    = 0x0400, /* MultiAssigns werden NICHT berücksichtigt */
  39.   FILELKACC_NoReq     = 0x0800, /* Es wird kein Report-Requester geöffnet */
  40. };
  41.  
  42.  
  43. enum pOS_FileLockFlags /** fl_Flags **/
  44. {
  45.   FILELKF_Assign       =0x01, /* Lock auf Multi-Assign */
  46.   FILELKF_Net          =0x04, /* Lock is Net-Lock */
  47. };
  48.  
  49.  
  50. /*\
  51. *** result of pOS_SameDosObject()
  52. ***
  53. *** if(pOS_SameDosObject(...) & FILELKSF_Object) => same lock
  54. *** if(pOS_SameDosObject(...) & FILELKSF_Device) => same device
  55. \*/
  56. enum pOS_SameFileLockType
  57. {
  58.   FILELKSF_None      = 0x0000, /* */
  59.   FILELKSF_Different = 0x0000, /* */
  60.   FILELKSF_Device    = 0x0001, /* Locks on same Device and Unit (scsi.device,0) */
  61.   FILELKSF_DDev      = 0x0002, /* Locks on same DosDevice (a:, df0:) */
  62.   FILELKSF_Volume    = 0x0004, /* Locks on same Volume */
  63.   FILELKSF_Object    = 0x0008, /* Locks on same Object (100%) */
  64.  
  65.   FILELKSF_Same = FILELKSF_Object
  66. };
  67.  
  68. #endif
  69.