#ifndef util_class_psi3_libpsio_psio_gbl_ #define util_class_psi3_libpsio_psio_gbl_ namespace psi3 { namespace libpsio { #define PSIO_KEYLEN 80 #define PSIO_MAXVOL 8 #define PSIO_MAXUNIT 300 #define PSIO_MAXSTR 512 #define PSIO_PAGELEN 65536 typedef unsigned long int ULI; /* For convenience */ typedef struct { ULI page; /* First page of entry */ ULI offset; /* Starting byte offset on fpage */ } psio_address; struct psio_entry { char key[PSIO_KEYLEN]; psio_address sadd; psio_address eadd; struct psio_entry *next; struct psio_entry *last; }; typedef struct psio_entry psio_tocentry; typedef struct { char *path; int stream; } psio_vol; typedef struct { ULI numvols; psio_vol vol[PSIO_MAXVOL]; psio_address tocaddress; ULI toclen; psio_tocentry *toc; } psio_ud; extern psio_ud *psio_unit; #define PSIO_ERROR_INIT 1 #define PSIO_ERROR_DONE 2 #define PSIO_ERROR_MAXVOL 3 #define PSIO_ERROR_NOVOLPATH 4 #define PSIO_ERROR_OPEN 5 #define PSIO_ERROR_REOPEN 6 #define PSIO_ERROR_CLOSE 7 #define PSIO_ERROR_RECLOSE 8 #define PSIO_ERROR_OSTAT 9 #define PSIO_ERROR_LSEEK 10 #define PSIO_ERROR_READ 11 #define PSIO_ERROR_WRITE 12 #define PSIO_ERROR_NOTOCENT 13 #define PSIO_ERROR_TOCENTSZ 14 #define PSIO_ERROR_KEYLEN 15 #define PSIO_ERROR_BLKSIZ 16 #define PSIO_ERROR_BLKSTART 17 #define PSIO_ERROR_BLKEND 18 #define PSIO_ERROR_IDENTVOLPATH 19 #define PSIO_OPEN_NEW 0 #define PSIO_OPEN_OLD 1 } } #endif /* #ifndef PSIO_GBL */