83 lines
2.3 KiB
C
Executable File
83 lines
2.3 KiB
C
Executable File
#ifndef h_SEQFILE
|
|
#define h_SEQFILE
|
|
/******************************************************************************
|
|
*
|
|
* SEQuential FILE definition
|
|
*
|
|
* Module %M% Version %I% Date %H%
|
|
*
|
|
* (c) Copyright 1998 Ardent Software Inc. - All Rights Reserved
|
|
* This is unpublished proprietary source code of Ardent Software Inc.
|
|
* The copyright notice above does not evidence any actual or intented
|
|
* publication of such source code.
|
|
*
|
|
*******************************************************************************
|
|
*
|
|
* Maintenence log - insert most recent change descriptions at top
|
|
*
|
|
* Date.... GTAR# WHO Description.........................................
|
|
* 10/14/98 23801 SAP Change copyrights.
|
|
* 06/25/96 18400 DJD Added device support for NT.
|
|
* 12/14/95 17705 PGW Added flags for MS-Win async device handling
|
|
* 01/16/95 15741 EAP Added NLS map info to SEQFILE structure
|
|
* 09/27/94 14961 DTM Added GETread for BASIC GET/GETX statements
|
|
* 03/08/94 12296 JSW Added line count for FILEINFO().
|
|
* 07/25/88 - - Maintenence log purged at 5.2.1, see release 5.1.10.
|
|
*
|
|
*****************************************************************************/
|
|
|
|
#include "MFILE.h"
|
|
#include "NLS.h"
|
|
|
|
#define SEQ_CLOSED 0
|
|
#define SEQ_CREAT 1
|
|
#define SEQ_READ 2
|
|
#define SEQ_WRITE 3
|
|
#define SEQ_RESET 4
|
|
|
|
typedef struct
|
|
{
|
|
MFILE mf;
|
|
int mode;
|
|
char *dirname;
|
|
char *filname;
|
|
char *path;
|
|
STRING lock;
|
|
int timeout;
|
|
int line_count;
|
|
char *vocname;
|
|
char *mapname; /* NLS mapname */
|
|
CMAP *ipmap; /* NLS Mapping table for READ */
|
|
CMAP *opmap; /* NLS Mapping table for WRITE */
|
|
#ifdef MSWIN
|
|
BITMAP unbuffered:1, /* NOBUF has set unbuffered I/O for file */
|
|
overlapio:1; /* Using overlapped I/O for this file */
|
|
int device_flag; /* flag to say whether a file or device */
|
|
HANDLE Dev_Handle; /* device handle */
|
|
int blocksize; /* block size for the device */
|
|
DWORD filemark; /* file mark */
|
|
STRING pathname; /* tape pathname */
|
|
STRING type; /* device type */
|
|
#endif
|
|
} SEQFILE;
|
|
|
|
|
|
EXTERN int SEQcreate(),
|
|
SEQflush(),
|
|
SEQmode(),
|
|
SEQnobuf(),
|
|
SEQseek(),
|
|
SEQttyctl(),
|
|
SEQwblk(),
|
|
SEQweof(),
|
|
SEQwrite();
|
|
|
|
EXTERN STRING SEQrblk(), DBsinfo(),
|
|
SEQread(),
|
|
GETread(),
|
|
SEQstatus();
|
|
|
|
EXTERN void SEQclose();
|
|
|
|
#endif /* end of SEQFILE.h */
|