tldm-universe/Ardent/UV/gcidir/include/SEQFILE.h

83 lines
2.3 KiB
C
Raw Permalink Normal View History

2024-09-09 21:51:08 +00:00
#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 */