Kiwi Engine
VM for interpreter
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
KEFile.h
Go to the documentation of this file.
1 
8 #ifndef KEFILE_H
9 #define KEFILE_H
10 
11 #include <Coconut/Coconut.h>
12 
14 struct KEFile {
16  struct CNString * fileName ;
18  FILE * filePointer ;
20  unsigned int lineNumber ;
21 } ;
22 
24 typedef enum {
31 } KEFileError ;
32 
40 KEOpenInputFile(struct KEFile * dst, struct CNString * filename) ;
41 
47 void
48 KEOpenStandardInput(struct KEFile * dst, struct CNResource * resource) ;
49 
56 KECloseInputFile(struct KEFile * dst) ;
57 
64 static inline int
65 KEGetCharFromFile(struct KEFile * file)
66 {
67  return getc(file->filePointer) ;
68 }
69 
74 static inline void
75 KEIncrementLineNumberOfFile(struct KEFile * file)
76 {
77  file->lineNumber += 1 ;
78 }
79 
80 #endif
unsigned int lineNumber
Definition: KEFile.h:20
struct CNString * fileName
Definition: KEFile.h:16
KEFileError KECloseInputFile(struct KEFile *dst)
Close the input file stream.
KEFileError
Error code which is returned by file open.
Definition: KEFile.h:24
Definition: KEFile.h:26
Input file.
Definition: KEFile.h:14
void KEOpenStandardInput(struct KEFile *dst, struct CNResource *resource)
Open input file stream.
KEFileError KEOpenInputFile(struct KEFile *dst, struct CNString *filename)
Input file stream class.
FILE * filePointer
Definition: KEFile.h:18
Definition: KEFile.h:28
Definition: KEFile.h:30