X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ffile-handle.h;h=00a79109601465fdf05f69710421aec690dd427e;hb=f1cd7ca88d074b671844ef073b364e069672ce66;hp=145d520228cb644f3308014299b3040a8e24f15d;hpb=74a57f26f1458b28a0fddbb9f46004ac8f4d9c30;p=pspp diff --git a/src/file-handle.h b/src/file-handle.h index 145d520228..00a7910960 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,21 +31,18 @@ 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 *); #endif /* !file_handle.h */