summaryrefslogtreecommitdiffstats
path: root/lib/libsi18n/txtfile.h
blob: 43a9219f56b6a48a18b323227fb9f19f1653671a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/** BEGIN COPYRIGHT BLOCK
 * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
 * Copyright (C) 2005 Red Hat, Inc.
 * All rights reserved.
 * END COPYRIGHT BLOCK **/
#ifndef TXTFILE_H
#define TXTFILE_H

#define FILE_BUFFER_SIZE  2024

/* file status */
enum {
    TEXT_FILE_NONE,
    TEXT_FILE_READING,
    TEXT_FILE_WRITING,
    TEXT_FILE_DONE
};

typedef struct TEXTFILE {
    FILE *file;
    char *fbCurrent;
    int  fbSize;
    int  fbStatus;
    char fileBuffer[FILE_BUFFER_SIZE + 1];
} TEXTFILE;

enum {
    TEXT_OPEN_FOR_READ,
    TEXT_OPEN_FOR_WRITE
};


#ifdef __cplusplus
extern "C" {
#endif

TEXTFILE * OpenTextFile(char *filename, int access);
void CloseTextFile(TEXTFILE *txtfile);
int ReadTextLine(TEXTFILE *txtfile, char *linebuf);

#ifdef CPLUSPLUS
};
#endif

#endif