/disk1/p.uno. git-svn-id: svn://10.65.10.50/trunk@1811 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			82 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| #ifndef __CCUSTIO_H
 | |
| #define __CCUSTIO_H
 | |
| 
 | |
| #ifndef DOS
 | |
| #include        <unistd.h>
 | |
| #endif
 | |
| #include    <errno.h>
 | |
| 
 | |
| #ifndef __CCOMMON_H
 | |
| #include        "ccommon.h"
 | |
| #endif
 | |
| #ifndef __GENCONST_H
 | |
| #include        "genconst.h"
 | |
| #endif
 | |
| 
 | |
| #define BlockLenIO      512
 | |
| #define Valid                           0
 | |
| #define Deleted                 1
 | |
| 
 | |
| typedef char                    *FileName;
 | |
| typedef char                    *RecType;
 | |
| typedef long                    RecNoType;
 | |
| typedef struct  {
 | |
|   int                                   F;
 | |
|   FILE                                  *Fd;
 | |
|   int                                   IOR;
 | |
|   int                                   LenRec;
 | |
|   int                                   BaseFil;
 | |
|   unsigned                      LockMode;
 | |
|   RecNoType             lpos;
 | |
|   PathSt                                name;
 | |
|   /* @(!) 2.3.01.325 */
 | |
|   RecNoType       lkpos;
 | |
|   /* @(:) 2.3.01.325 */
 | |
| } SecDef ;
 | |
| 
 | |
| #ifdef DOS
 | |
| #define TESTLOCK(x)             (/*test_share() && */ ((x) == EACCES || (x) == EAGAIN))
 | |
| #define DEADLOCK(x)             (/*test_share() && */ (x) == EDEADLOCK)
 | |
| #else   
 | |
| #define TESTLOCK(x)             (((x) == EACCES) || ((x) == EAGAIN) || ((x) == ENOLCK))
 | |
| #define DEADLOCK(x)             (((x) == EDEADLOCK) || ((x) == EDEADLK))
 | |
| #endif
 | |
| #define BLOCKEXT(len,rec)       (((((RecNoType) (len)) * ((RecNoType) (rec))) / BlockLenIO) + 1)
 | |
| 
 | |
| /* @(!) 2.3.01.325 */
 | |
| #ifdef DOS
 | |
| #define ASPETTA(x)              (sleep_dos(x))
 | |
| #else   
 | |
| #define ASPETTA(x)              (sleep(x))
 | |
| #endif
 | |
| /* @(:) 2.3.01.325 */
 | |
| 
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
|   void CLockRec(SecDef *, RecNoType, unsigned);
 | |
|   void CVerify(SecDef *,char *);
 | |
|   void COpen(SecDef *,char *, unsigned, unsigned, unsigned);
 | |
|   void CCreate(SecDef *,char *,unsigned ,unsigned ,RecNoType);
 | |
|   void CChsize(SecDef *,char *,unsigned ,unsigned ,RecNoType);
 | |
|   void CClose(SecDef *);
 | |
|   void CDelete(SecDef *,char *);
 | |
|   void CRead(SecDef *,RecType,RecNoType ,unsigned );
 | |
|   void CWrite(SecDef *,RecType,RecNoType ,unsigned );
 | |
|   void IDeleteRec(RecType);
 | |
|   void IRecallRec(RecType);
 | |
|   BOOLEAN IRecIsDeleted(RecType);
 | |
|   BOOLEAN ITestLock(int );
 | |
|   /* @(!) 2.3.01.325 modificata int excllock(char *,BOOLEAN);*/ 
 | |
|   /* @(!) 2.3.01.325 modificata int exclunlock(char *,BOOLEAN);*/ 
 | |
|   int excllock(char *,BOOLEAN);
 | |
|   int exclunlock(char *,BOOLEAN);
 | |
|   int sleep_dos(int);
 | |
|   /* @(:) 2.3.01.325 */
 | |
|   BOOLEAN test_share(void);
 | |
| #ifdef __cplusplus
 | |
| };
 | |
| #endif
 | |
| #endif /* __CCUSTIO_H */
 |