home *** CD-ROM | disk | FTP | other *** search
- Opening an Existing Block File
-
- typedef struct { /* sequential file header */
- size_t recsize; /* record size */
- } shdr_t;
-
- typedef struct { /* sequential file control structure */
- shdr_t shdr; /* file header */
- BLKFILE *bp; /* block file pointer */
- } seq_t;
- seq_t sb[SOPEN_MAX]; /* sequential file control structure table */
-
- seq_t *sp = sb[0];
-
- /* open sequential file */
- sp->bp = bopen(filename, "r+", sizeof(shdr_t), (size_t)1, (size_t)0);
- if (sp->bp == NULL);
- /* error */
- }
- /* read file header to get record size */
- rs = bgeth(sp->bp, (void *)&sp->shdr);
- if (rs == -1) {
- /* error */
- }
- /* set up buffering */
- rs = bsetvbuf(sp->bp, NULL, sp->shdr.recsize, SBUFCNT);
- if (rs != 0) {
- /* error */
- }
-
-