/*============================================================================= * drt/sys/kfnamec.h * Primitive filename handling functions. * * These functions provide a portable interface to the underlying file * system, providing a system-independent way of specifying and * manipulating file names. * * Notes * This file is not distributed, but is used only to compile the library * object files. * * History * 0.01, 1999-07-04, David R Tribble. * First cut. * * [Private] * Copyright ©1999, by David R. Tribble, all rights reserved. * See "drt/sys/copyr.txt" for more information. *----------------------------------------------------------------------------*/ #ifndef drt_sys_kfnamec_h #define drt_sys_kfnamec_h 1 #ifdef __cplusplus extern "C" { #endif /* Identification */ #ifndef NO_H_IDENT static const char drt_sys_kfnamec_h_id[] = "@(#)drt/sys/kfnamec.h 0.01"; #endif /* System includes */ #ifndef drt_std_stdio_h #include #define drt_std_stdio_h 1 #endif /* Special includes */ #ifndef drt_sys_kdefs_h #include "kdefs.h" #endif /* Local includes */ #ifndef drt_sys_kfname_h_id #include "kfname.h" #endif #ifndef drt_sys_kdebug_h #include "kdebug.h" #endif /* Local wrappers */ #include "klib1.h" drt_namespace_begin /*----------------------------------------------------------------------------- * Struct DrtFileName * Contains a file name for a file. * * This structure is used as the glue which marries command line filename * arguments to the actual underlying file system, which may reside on a * remote host machine. * * Notes * Stores a filename in a generic, portable form that is independent of * any underlying file system. Functions provide conversions between this * generic form and the form used by the native file system. * * Both normal and wide character functions are provided, for systems that * support either. * * The drt_fname_create() function must be called to actually create a * filename object, which in turn creates an object of the correct derived * subtype which is appropriate for the local file system. * * History * 100, 1998-03-21, David R Tribble. * First cut. * * 200, 1999-07-04, David R Tribble. * Redone in C. *----------------------------------------------------------------------------*/ #define DrtFileName_VS 200 /* Class version number */ struct DrtFileName { unsigned short m_magic; /* Struct magic number */ short m_vers; /* Struct version number */ const char * m_fname; /* Full filename text */ const char * m_native; /* Full native filename */ const char * m_host; /* Hostname portion */ const char * m_dev; /* Device portion */ const char * m_path; /* Path prefix portion */ const char * m_file; /* Filename portion */ const char * m_ext; /* Extension portion */ const char * m_vers; /* Version portion */ }; typedef struct DrtFileName DrtFileName_t; #include "klib2.h" drt_namespace_end #ifdef __cplusplus } #endif #endif /* drt_sys_kfname_h */ /* End kfname.h */