home *** CD-ROM | disk | FTP | other *** search
- #ifndef __INC_POS_PDOS_LOCK_H
- #define __INC_POS_PDOS_LOCK_H
- /*******************************************************************
- Includes Release 24
- (C) Copyright 1995-1997 proDAD
- All Rights Reserved
-
- $AUT Holger Burkarth
- $DAT >>Lock.h<< 02 Dec 1996 11:28:25 - (C) ProDAD
- *******************************************************************/
- #ifndef __INC_POS_PDOS_DOSTYPES_H
- #include <pDOS/DosTypes.h>
- #endif
- #ifndef __INC_POS_PEXEC_LIST_H
- #include <pExec/List.h>
- #endif
-
- /*----------------------------------
- -----------------------------------*/
- struct pOS_FileLock
- {
- struct pOS_Node fl_Node;
- struct pOS_DosDevice *fl_DosDev; /* */
- UBYTE fl_Access; /* (enum pOS_FileLockAccess) */
- UBYTE fl_Flags; /* (enum pOS_FileLockFlags) */
- UWORD fl_Count; /* Mehrfachnutzung */
-
- UBYTE fl_Reserved[8]; /* *** must be null */
- };
-
-
- /** pOS_LockObject() **/
- enum pOS_FileLockAccess /** fl_Access **/
- {
- FILELKACC_Shared = 0x0000,
- FILELKACC_Exclusive = 0x0001, /* nur einer darf */
-
- FILELKACC_Unique = 0x0400, /* MultiAssigns werden NICHT berücksichtigt */
- FILELKACC_NoReq = 0x0800, /* Es wird kein Report-Requester geöffnet */
- };
-
-
- enum pOS_FileLockFlags /** fl_Flags **/
- {
- FILELKF_Assign =0x01, /* Lock auf Multi-Assign */
- FILELKF_Net =0x04, /* Lock is Net-Lock */
- };
-
-
- /*\
- *** result of pOS_SameDosObject()
- ***
- *** if(pOS_SameDosObject(...) & FILELKSF_Object) => same lock
- *** if(pOS_SameDosObject(...) & FILELKSF_Device) => same device
- \*/
- enum pOS_SameFileLockType
- {
- FILELKSF_None = 0x0000, /* */
- FILELKSF_Different = 0x0000, /* */
- FILELKSF_Device = 0x0001, /* Locks on same Device and Unit (scsi.device,0) */
- FILELKSF_DDev = 0x0002, /* Locks on same DosDevice (a:, df0:) */
- FILELKSF_Volume = 0x0004, /* Locks on same Volume */
- FILELKSF_Object = 0x0008, /* Locks on same Object (100%) */
-
- FILELKSF_Same = FILELKSF_Object
- };
-
- #endif
-