AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
file.h
1 
18 #ifndef _AVRIO_FILE_H_
19 #define _AVRIO_FILE_H_
20 
21 #include <avrio/defs.h>
22 __BEGIN_C_DECLS
23 /* ========================================================================== */
24 #include <stdio.h>
25 
37 /* flags ==================================================================== */
42 #define O_RD 0x0001
43 #define O_RDONLY O_RD
44 #define O_WR 0x0002
45 #define O_WRONLY O_WR
46 #define O_RDWR (O_RD|O_WR)
47 #define O_HDUPLEX 0x0004
48 #define O_NONBLOCK 0x0008
49 #define O_ECHO 0x0010
50 #define O_MALLOC 0x2000
51 #define O_SYNC 0x4000
52 #define O_APPEND 0x8000
57 /* ioctl request ============================================================ */
58 
62 #define FIOFLUSH 0x0001
63 #define FIONREAD 0x0002
64 #define FIOGETS 0x0003
65 #define FIOSETS 0x0004
70 /* internal public functions ================================================ */
71 
79 FILE * xFileOpen (const char * path, int flag, void * settings);
80 
86 int iFileClose (FILE * f);
87 
94 int iFileIoctl (FILE * f, int c, ...);
95 
96 # if defined(__DOXYGEN__)
97 /*
98  * __DOXYGEN__ defined
99  * Partie documentation ne devant pas être compilée.
100  * =============================================================================
101  */
102 
108 static inline int iFileFlush (FILE * f);
109 
115 static inline int iFileDataAvailable (FILE * f);
116 
123 static inline int iFileGetSettings (FILE * f, void * settings);
124 
131 static inline int iFileSetSettings (FILE * f, const void * settings);
132 
138 # else
139 /*
140  * __DOXYGEN__ not defined
141  * Partie ne devant pas être documentée.
142  * =============================================================================
143  */
144 
145 // -----------------------------------------------------------------------------
146 INLINE int
147 iFileFlush (FILE * f) {
148  return iFileIoctl (f, FIOFLUSH);
149 }
150 
151 // -----------------------------------------------------------------------------
152 INLINE int
153 iFileDataAvailable (FILE * f) {
154  return iFileIoctl (f, FIONREAD);
155 }
156 
157 // -----------------------------------------------------------------------------
158 INLINE int
159 iFileGetSettings (FILE * f, void * s) {
160  return iFileIoctl (f, FIOGETS, s);
161 }
162 
163 // -----------------------------------------------------------------------------
164 INLINE int
165 iFileSetSettings (FILE * f, const void * s) {
166  return iFileIoctl (f, FIOSETS, s);
167 }
168 #endif
169 
170 /* ========================================================================== */
171 __END_C_DECLS
172 #endif /* _AVRIO_FILE_H_ */
int iFileClose(FILE *f)
Fermeture d&#39;un fichier.
FILE * xFileOpen(const char *path, int flag, void *settings)
Ouverture d&#39;un fichier.
static int iFileSetSettings(FILE *f, const void *settings)
Lecture de la configuration.
int iFileIoctl(FILE *f, int c,...)
Fonction de contrôle.
static int iFileFlush(FILE *f)
Vidage des buffers.
#define FIOFLUSH
Definition: file.h:62
static int iFileDataAvailable(FILE *f)
Nombre de caractères reçus.
#define FIONREAD
Definition: file.h:63
#define FIOGETS
Definition: file.h:64
static int iFileGetSettings(FILE *f, void *settings)
Modification de la configuration.
#define FIOSETS
Definition: file.h:65