X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ffile-handle.h;h=00a79109601465fdf05f69710421aec690dd427e;hb=5156fa5a8323a16f6b4bbc8950221cdc1d0e023d;hp=5f18202a48069eff675c36c0c17d604333ccc5f0;hpb=92bfefccd465052e492f669ce561aa25b0110283;p=pspp-builds.git diff --git a/src/file-handle.h b/src/file-handle.h index 5f18202a..00a79109 100644 --- a/src/file-handle.h +++ b/src/file-handle.h @@ -20,34 +20,9 @@ #if !file_handle_h #define file_handle_h 1 -/* File handle provider (fhp). - - This module provides file handles in the form of file_handle - structures to the dfm and sfm modules, which are known as file - handle users (fhusers). fhp does not know anything about file - contents. */ +/* File handles. */ #include -#include "error.h" - -struct file_handle; - -/* Services that fhusers provide to fhp. */ -struct fh_ext_class - { - int magic; /* Magic identifier for fhuser. */ - const char *name; /* String identifier for fhuser. */ - - void (*close) (struct file_handle *); /* Closes the file. */ - }; - -/* Mostly-opaque structure. */ -struct file_handle - { - struct private_file_handle *private; - const struct fh_ext_class *class; /* Polymorphism support. */ - void *ext; /* Extension struct for fhuser use. */ - }; /* File modes. */ enum file_handle_mode @@ -56,20 +31,16 @@ enum file_handle_mode MODE_BINARY /* Fixed-length records. */ }; -/* Pointer to the file handle that corresponds to data in the command - file entered via BEGIN DATA/END DATA. */ -extern struct file_handle *inline_file; - -/* Initialization. */ -void fh_init_files (void); +/* Parsing handles. */ +struct file_handle *fh_parse (void); /* Opening and closing handles. */ -struct file_handle *fh_parse_file_handle (void); -void fh_close_handle (struct file_handle *handle); +void **fh_open (struct file_handle *, const char *type, const char *mode); +int fh_close (struct file_handle *, const char *type, const char *mode); /* Handle info. */ -const char *handle_get_name (const struct file_handle *handle); -const char *handle_get_filename (const struct file_handle *handle); +const char *handle_get_name (const struct file_handle *); +const char *handle_get_filename (const struct file_handle *); enum file_handle_mode handle_get_mode (const struct file_handle *); size_t handle_get_record_width (const struct file_handle *); size_t handle_get_tab_width (const struct file_handle *);