1
#ifndef util_class_psi3_libpsio_psio_h_
2
#define util_class_psi3_libpsio_psio_h_
5
#include <util/psi3/libpsio/psio.gbl>
10
/* A convenient address initialization struct */
11
extern psio_address PSIO_ZERO;
13
/* Library state variable */
14
extern int _psi3_libpsio_state_;
17
extern ULI *psio_readlen;
18
extern ULI *psio_writlen;
24
void psio_error(unsigned int unit, unsigned int errval);
25
int psio_open(unsigned int unit, int status);
26
int psio_close(unsigned int unit, int keep);
28
unsigned int psio_get_numvols(unsigned int unit);
29
unsigned int psio_get_numvols_default(void);
30
int psio_get_volpath(unsigned int unit, unsigned int volume, char *path);
31
int psio_get_volpath_default(unsigned int volume, char *path);
32
int psio_get_filename(unsigned int unit, char *name);
33
int psio_get_filename_default(char *name);
34
psio_address psio_get_address(psio_address start, ULI shift);
35
psio_address psio_get_global_address(psio_address entry_start,
36
psio_address rel_address);
37
int psio_volseek(psio_vol *vol, ULI page, ULI offset, ULI numvols);
38
ULI psio_get_length(psio_address sadd, psio_address eadd);
39
psio_address psio_get_entry_end(unsigned int unit, char *key);
41
int psio_tocwrite(unsigned int unit);
42
int psio_tocread(unsigned int unit);
43
void psio_tocprint(unsigned int unit, FILE *output);
44
psio_tocentry *psio_tocscan(unsigned int unit, char *key);
45
psio_tocentry *psio_toclast(unsigned int unit);
46
unsigned int psio_toclen(unsigned int unit);
47
int psio_tocdel(unsigned int unit, char *key);
48
int psio_tocclean(unsigned int unit, char *key);
49
void psio_tocrename(unsigned int unit, char *key, char *newkey);
51
int psio_write(unsigned int unit, char *key, char *buffer, ULI size,
52
psio_address sadd, psio_address *eadd);
53
int psio_read(unsigned int unit, char *key, char *buffer, ULI size,
54
psio_address sadd, psio_address *eadd);
55
int psio_write_entry(unsigned int unit, char *key, char *buffer, ULI size);
56
int psio_read_entry(unsigned int unit, char *key, char *buffer, ULI size);
57
int psio_write_block(unsigned int unit, char *key, char *buffer, ULI blksiz,
58
ULI start_blk, ULI end_blk);
59
int psio_read_block(unsigned int unit, char *key, char *buffer, ULI blksiz,
60
ULI start_blk, ULI end_blk);
61
int psio_rw(unsigned int unit, char *buffer, psio_address address, ULI size, int wrt);
63
int psio_open_check(unsigned int unit);
68
#endif /* #ifndef PSIO_H */