- void (*close) (struct file_handle *);
- /* Closes any associated file, etc. */
- };
-
-/* Opaque structure. The `ext' member is an exception for use by
- subclasses. `where.ln' is also acceptable. */
-struct file_handle
- {
- /* name must be the first member. */
- const char *name; /* File handle identifier. */
- char *norm_fn; /* Normalized filename. */
- char *fn; /* Filename as provided by user. */
- struct file_locator where; /* Used for reporting error messages. */
-
- int recform; /* One of FH_RF_*. */
- size_t lrecl; /* Length of records for FH_RF_FIXED. */
- int mode; /* One of FH_MD_*. */
-
- struct fh_ext_class *class; /* Polymorphism support. */
- void *ext; /* Extension struct for fhuser use. */
- };