#ifndef __CFILES_H #define __CFILES_H #ifndef __CCUSTIO_H #include "ccustio.h" #endif #ifdef __GNUC__ #define __PACKED__ __attribute__ ((packed)) #define __ALIGNED__ __attribute__ ((aligned(2))) #define __PACK_1__ #else #define __PACKED__ #define __ALIGNED__ #pragma pack(2) #endif #define MaxFilesDir 70 #define MKFields 10 #define MaxFields 100 #define MaxKeys 8 #define glockname "xx" #define INVFLD 255 /* @(!) 2.3.01.144 */ #define NORDIR 0 #define COMDIR 1 /* @(:) 2.3.01.144 */ typedef char FieldName[12] ; typedef struct { char SysName[42] __PACKED__ ; RecNoType EOD __PACKED__ ; RecNoType EOX __PACKED__ ; unsigned short LenR __PACKED__ ; RecNoType Flags __PACKED__ ; char Des[42] __PACKED__ ; char FCalc[32] __PACKED__ ; char GenPrompt[32] __PACKED__ ; } FileDes; typedef struct { FieldName Name __PACKED__ ; byte TypeF __PACKED__ ; byte Len __PACKED__ ; byte Dec __PACKED__ ; #ifdef __PACK_1__ byte junk __PACKED__ ; #endif unsigned short RecOff __PACKED__ ; } RecFieldDes ; typedef struct { BOOLEAN DupKeys __ALIGNED__ ; byte NkFields __ALIGNED__ ; byte FieldSeq[MKFields] __PACKED__ ; byte FromCh[MKFields] __PACKED__ ; byte ToCh[MKFields] __PACKED__ ; } KeyDes ; typedef struct { short NFields __PACKED__ ; RecFieldDes Fd[MaxFields] __PACKED__ ; byte SortFd[MaxFields] __PACKED__ ; short NKeys __PACKED__ ; KeyDes Ky[MaxKeys] __PACKED__ ; } RecDes; #ifdef __CFILES_C SecDef rdir[2], fdir[2]; #else extern SecDef rdir[2], fdir[2]; #endif #if XVT_OS == XVT_OS_WIN || XVT_OS_WIN32 #pragma pack() #endif #ifdef __cplusplus extern "C" { #endif /* @(!) 2.3.01.144 */ void COpenDir(int, int); void CCloseDir(int); void COpenFile(int, FileDes *, int, int); void CCloseFile(int, FileDes *, int); void CGetFile(int, FileDes *, int, int); void CPutFile(int, FileDes *, int); /* @(:) 2.3.01.144 */ void zerofdes(FileDes *); /* @(!) 2.3.01.144 */ void COpenRecDir(int, int); void CCloseRecDir(int); void CGetRec(int, RecDes *, int); void CPutRec(int, RecDes *, int); /* @(:) 2.3.01.144 */ void zerordes(RecDes *); // word setrdes(RecDes *); const char* CGetPref(void); void CPutPref(const char *); char *CAddPref(char *); /* @(!) 2.3.01.144 */ char *CInsPref(char *, int); /* @(:) 2.3.01.144 */ char *CGetIdxName(char *); const char* CGetPrawinName(void); #ifdef __cplusplus }; #endif #endif /* __CFILES_H */