aboutsummaryrefslogtreecommitdiff
path: root/flx/input_file.h
diff options
context:
space:
mode:
Diffstat (limited to 'flx/input_file.h')
-rw-r--r--flx/input_file.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/flx/input_file.h b/flx/input_file.h
new file mode 100644
index 0000000..9042552
--- /dev/null
+++ b/flx/input_file.h
@@ -0,0 +1,34 @@
+#ifndef __INPUT_FILE_H__
+#define __INPUT_FILE_H__
+
+#include <stdio.h>
+
+#include "utils.h"
+#include "flx.h"
+#include "flx_fcntl.h"
+
+typedef struct s_file_status t_file_status;
+
+struct s_file_status {
+ FILE *fd; /* pointer to current file */
+ char bpath[BUFFER_LENGTH]; /* path for real directory */
+ char cpath[BUFFER_LENGTH]; /* path for saving infos */
+ void *dirnames; /* stack for directory names */
+ void *filenames; /* stack for file names */
+ int status; /* reading status */
+ void *fdstack; /* output file descriptor stack */
+ int recursion, prev_recursion; /* recursion requiered */
+ int options; /* options flags */
+};
+
+extern int input_file_fcntl(t_file_status *env, int cmd);
+
+extern int input_file_read(t_file_status *spec, t_ft *tree);
+extern t_file_status *input_file_open(char *desc, char *opts);
+extern t_file_status *input_file_close(t_file_status *spec);
+
+extern t_file_status *input_stdin_open(char *desc, char *opts);
+
+#endif /* __INPUT_FILE_H__ */
+
+