PVK_OpenExt( ) |
Extended File Open |
int PVK_OpenExt (HPVKENV hEnv, char *path, char *pswd, int pswd_sz, INT16 opt, INT32 *open_err);
Where:
hEnv |
Handle to environment structure created by PVK_AllocEnv( ) |
path |
Pointer to a null terminated string containing the pathname of the keyed/direct/indexed/view file to open |
pswd |
Pointer to a buffer that contains the optional password required to access a keyed or direct file |
pswd_sz |
Indicates the length of the pswd buffer |
opt |
Indicates whether a file should be opened in read-only mode (Windows or UNIX) or for exclusive use (Windows Only) |
open_err |
Error code (See Error Code values) |
PVK_OpenExt( ) is used to open a PxPlus keyed/direct/indexed/EFF files or Views which requires a password or extended options. It will return the logical file handle for the file, provided it can be opened. All subsequent file I/O calls to PXPIO functions must specify the returned handle.
Valid opt values include WSF_INPUT for read-only and WSF_LOCK for exclusive mode. A value of -1 is returned if the file cannot be opened.
Opt Table | ||
#define FAM_READONLY |
0x0000 |
/* File in read only mode */ |
#define FAM_READWRITE |
0x0001 |
/* File in read write mode */ |
#define WSF_LOCK |
0x0400 |
/* File was opened with exclusive use */ |
#define ERR_OK |
0 |
/* no error */ |
#define ERR_CANT_OPEN |
1 |
|
#define ERR_BAD_FH |
2 |
|
#define ERR_NOSUCH_KEY |
3 |
|
#define ERR_EOF |
4 |
|
#define ERR_BAD_TYPE |
5 |
|
#define ERR_KEYNO |
6 |
|
#define ERR_KEY_LENGTH |
7 |
|
#define ERR_NO_MEMORY |
8 |
|
#define ERR_KIO_OFS |
9 |
|
#define ERR_KIO_FAILED |
10 |
|
#define ERR_KIO_WRONG |
11 |
|
#define ERR_KSZ_WRONG |
12 |
|
#define ERR_RSZ_WRONG |
13 |
|
#define ERR_SEEK_FAILED |
14 |
|
#define ERR_READ_FAILED |
15 |
|
#define ERR_READ_SHORT |
16 |
|
#define ERR_BAD_FUNCTION |
17 |
|
#define ERR_INDEXED_FILE |
18 |
|
#define ERR_WRITE_FAILED |
19 |
|
#define ERR_KIO_BADADR |
20 |
|
#define ERR_KIO_DELCHN |
21 |
|
#define ERR_KIO_NOEOF |
22 |
|
#define ERR_BUSY |
23 |
/* File or Data busy */ |
#define ERR_FILE_FULL |
24 |
|
#define ERR_NOT_REGISTERED |
25 |
|
#define ERR_DOM |
26 |
/* Duplicate key not allowed – if missing Rpt ERR_NO_SUCH_KEY */ |
#define ERR_KIO_RSIZE |
27 |
/* Keyed file error (Record length invalid) */ |
#define ERR_KIO_BADSEG |
28 |
/* Invalid segment number */ |
#define ERR_IND_HEADER |
29 |
/* Unable to access Indexed file header */ |
#define ERR_KIO_DECOMPFAIL |
30 |
/* Decompress of record failed */ |
#define ERR_PSWD_WRONG |
31 |
/* Wrong password supplied */ |
#define ERR_BAD_OFFSET |
32 |
/* Bad Read Offset */ |
#define ERR_NO_SUCH_FILE |
33 |
/* File does not exist (or already exists) */ |
#define ERR_RESTRICT_FAILED |
34 |
|
#define ERR_ACCESS_VLTN |
35 |
/* Access violation, attempt to write to Read Only file */ |
#define ERR_TX_BEGIN |
36 |
/* Begin transaction without finishing previous */ |
#define ERR_TX_ROLLBACK |
37 |
/* Rollback/Commit without proper Begin transaction */ |
#define ERR_FILE_BUSY |
38 |
/* File is busy */ |
#define ERR_MISSING_INFO |
39 |
/* Not enough information passed in */ |
#define ERR_OBJ_VER_WRONG |
40 |
|
#define ERR_BAD_BUFFER |
41 |
/* Incorrect buffer returned from page_get */ |
#define ERR_SYS_NOFH |
42 |
/* os error: No more file handles available (too many open files)*/ |
#define ERR_NET_FAILED |
43 |
/* network error */ |
#define ERR_VERSION |
44 |
|
#define ERR_SECURITY_FAILED |
45 |
/* Logon failed */ |
#define ERR_PVK_NOTSUPPORTED |
46 |
/* Feature is not supported */ |