diff options
author | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
---|---|---|
committer | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
commit | e611b132f9b8abe35b362e5870b74bce94a1e58e (patch) | |
tree | a5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/utils/ntbackup/inc/dos_fs.h | |
download | NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2 NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip |
Diffstat (limited to 'private/utils/ntbackup/inc/dos_fs.h')
-rw-r--r-- | private/utils/ntbackup/inc/dos_fs.h | 279 |
1 files changed, 279 insertions, 0 deletions
diff --git a/private/utils/ntbackup/inc/dos_fs.h b/private/utils/ntbackup/inc/dos_fs.h new file mode 100644 index 000000000..12fd061cf --- /dev/null +++ b/private/utils/ntbackup/inc/dos_fs.h @@ -0,0 +1,279 @@ +/** +Copyright(c) Maynard Electronics, Inc. 1984-89 + + + Name: dos_fs.h + + Date Updated: $./FDT$ $./FTM$ + + Description: This file contains the prototypes for the DOS + file system functions. + + $Log: O:/LOGFILES/DOS_FS.H_V $ + * + * Rev 1.10 03 Nov 1992 16:29:58 TIMN + * Added macros for processing streams + * + * Rev 1.9 21 Oct 1992 13:09:06 CARLS + * changed DOS_SetHandObjSizeLo to DOS_SetHandObjSize because size is now UINT64 + * + * Rev 1.8 29 Sep 1992 17:47:28 CHUCKB + * Added s_info to prototype for DOSCompleteBlk(). + * + * Rev 1.7 24 Sep 1992 12:00:48 TIMN + * Deleted references to f(x) FS_GetTotalSizeDBLK() + * + * Rev 1.6 24 Sep 1992 11:58:04 TIMN + * Updated DOS FileSys to support MTF v4.0 format (stream info structs in data streams) + * + * Rev 1.5 14 May 1992 17:03:24 STEVEN + * 40 format + * + * Rev 1.4 13 May 1992 16:50:02 STEVEN + * 40 FORMAT update + * + * Rev 1.3 13 Dec 1991 09:30:44 STEVEN + * move common functions to tabels + * + * Rev 1.2 10 Jul 1991 13:09:54 STEVEN + * Added DOS_GetSpecDBLKS(). + * + * Rev 1.1 23 May 1991 16:46:12 BARRY + * Changes for FindFirst/Next to scan for dirs only + * + * Rev 1.0 09 May 1991 13:32:58 HUNTER + * Initial revision. + +**/ +/* $end$ include list */ + +#ifndef _dos_fs_h_ +#define _dos_fs_h_ + +#include "fsys.h" + + +typedef struct DOS_RESERVED_SH_STRUCT { + INT16 fhdl ; /* DOS file handle */ + INT16 active ; /* is stream being processed */ + STREAM_INFO sh ; /* DOS reserved stream info */ +} DOS_RESERVED_SH, *DOS_RESERVED_SH_PTR ; + + /* sizeof FILE_HAND plus dos reserved struct */ +#define FS_SIZEOF_RESERVED_FILE_HAND \ + ( sizeof(FILE_HAND_STRUCT) + sizeof(DOS_RESERVED_SH) ) + + +#define _DEREF_HandObjHandPtr(hand) ( (DOS_RESERVED_SH_PTR)((hand)->obj_hand.ptr) ) + +#define _DOS_GetHandObjFileHandle(hand) ( (_DEREF_HandObjHandPtr(hand)->fhdl ) ) +#define _DOS_GetHandObjSize(hand) ( (_DEREF_HandObjHandPtr(hand)->sh.size ) ) + +#define _DOS_SetHandObjFileHandle(hand,h) ( (_DEREF_HandObjHandPtr(hand)->fhdl ) = (h) ) +#define _DOS_SetHandObjSize(hand,v) ( (_DEREF_HandObjHandPtr(hand)->sh.size = (v) ) ) + +#define _DOS_IsStrmBeingProcessed(hand) ( (_DEREF_HandObjHandPtr(hand)->active ) ) +#define _DOS_SetStrmProcessState(hand,v) ( (_DEREF_HandObjHandPtr(hand)->active ) = (v) ) + +#define _DOS_WriteStrmInfo(hand) ( (_DEREF_HandObjHandPtr(hand)->active ) == FALSE ) +#define _DOS_ProcessData(hand) ( (_DEREF_HandObjHandPtr(hand)->active ) == FALSE ) +#define _DOS_SetProcessData(hand,v) ( (_DEREF_HandObjHandPtr(hand)->active ) = !(v) ) + + +INT16 DOS_AttachToDLE( FSYS_HAND fsh, /* I - File system handle */ + GENERIC_DLE_PTR dle, /*I/O- drive to attach to. list element expanded */ + CHAR_PTR u_name, /* I - user name NOT USED */ + CHAR_PTR pswd); /* I - passowrd NOT USED */ + +INT16 DOS_DetachDLE( FSYS_HAND fsh ); /* I - */ + +INT16 DOS_AllocFileHand( FILE_HAND *file_hand ) ; /* I/O - */ +VOID DOS_MemsetFileHand( FILE_HAND *file_hand ) ; /* I/O - */ + +INT16 DOS_CreateObj( FSYS_HAND fsh, /* I - File system to create object one */ + DBLK_PTR dblk); /* I - Describes object to create */ + +INT16 DOS_OpenObj( FSYS_HAND fsh, /* I - file system that the file is opened on */ + FILE_HAND *hand, /* O - allocated handle */ + DBLK_PTR dblk, /*I/O- describes the file to be opened */ + OPEN_MODE mode); /* I - open mode */ + +INT16 DOS_ReadObj( FILE_HAND hand, /* I - handle of object to read from */ + CHAR_PTR buf, /* O - buffer to place data into */ + UINT16 *size, /*I/O- Entry: size of buf; Exit: number of bytes read */ + UINT16 *blk_size, /* O - Block size needed for next read */ + STREAM_INFO_PTR s_info ) ; /*I/O- struct to place stream header info */ + + +INT16 DOS_WriteObj( FILE_HAND hand, /* I - handle of object to read from */ + CHAR_PTR buf, /* O - buffer to place data into */ + UINT16 *size, /*I/O- Entry: size of buf; Exit: number of bytes read */ + UINT16 *blk_size, /* O - Block size need for next read */ + STREAM_INFO_PTR s_info ) ; /*I/O- struct to place stream header info */ + +INT16 DOS_VerObj( FILE_HAND hand, /* I - file handle to verify data with */ + CHAR_PTR buf, /* I - buffer needed to perform verify */ + CHAR_PTR data, /* I - data to verify against */ + UINT16 *size, /*I/O- size of buffers / amount verified */ + UINT16 *blk_size, /* O - minum size of block for next call */ + STREAM_INFO_PTR s_info ) ; /*I/O- struct to place stream header info */ + + +INT16 DOS_CloseObj( FILE_HAND hand ); /* I - handle of object to close */ + +INT16 DOS_DeleteObj( FSYS_HAND fsh, + DBLK_PTR dblk ); + +INT16 DOS_FindFirst( FSYS_HAND fsh, /* I - file system handle */ + DBLK_PTR dblk, /* O - pointer to place to put the dblk data */ + CHAR_PTR sname, /* I - search name */ + UINT16 obj_type); /* I - object type (all objs, dirs, etc.) */ + +INT16 DOS_FindNext( FSYS_HAND fsh, /* I - File system handle */ + DBLK_PTR dblk ); /* O - Discriptor block */ + +INT16 DOS_GetObjInfo( FSYS_HAND fsh, /* I - File system handle */ + DBLK_PTR dblk ); /*I/O- On entry it is minimal on exit Complete */ + +INT16 DOS_VerObjInfo( FSYS_HAND fsh, /* I - File system handle */ + DBLK_PTR dblk ); /* I - DBLK to compare OS against */ + +INT16 DOS_ChangeDir( FSYS_HAND fsh, /* I - file system to changing directories on */ + CHAR_PTR path, /* I - describes the path of the new directory */ + INT16 psize); /* I - specifies the length of the path */ + +INT16 DOS_UpDir( FSYS_HAND fsh ); /* I - file system to change directories in */ + +INT16 DOS_GetCurrentPath( FSYS_HAND fsh, /* I - file system to get current path from */ + CHAR_PTR path, /* O - buffer to place this path */ + INT16 *size); /*I/O- size of buffer on entry & on exit */ + +INT16 DOS_SeekObj( FILE_HAND hand, /* I - Opened object to seek into */ + UINT32 *offset ); /*I/O- Offset to seek; Number of bytes actualy seeked */ + +INT16 DOS_GetMaxSizeDBLK( FSYS_HAND fsh /* not used */ ); + +INT16 DOS_GetBasePath( FSYS_HAND fsh, /* I - file system to get base path from */ + CHAR_PTR full_path, /* O - buffer to place this path */ + INT16 *size ); /*I/O- size of buffer on entry & on exit */ + +INT16 DOS_GetCurrentDDB( FSYS_HAND fsh, /* I - file system to get DDB from */ + DBLK_PTR dblk ); /* O - place to put the DDB data */ + +INT16 DOS_SetObjInfo( FSYS_HAND fsh, /* I - file system handle */ + DBLK_PTR dblk); /* I - data to write to disk */ + +INT16 DOS_ModFnameFDB( FSYS_HAND fsh, /* I - File system handle */ + BOOLEAN set_it, /* I - TRUE if setting file name, FALSE if getting */ + DBLK_PTR dblk, /* I - Descriptor block to get file name from */ + CHAR_PTR buf, /*I/O- file name to read (or to write) */ + INT16 *size ) ; /*I/O- size buffer on entry and exit */ + +INT16 DOS_ModPathDDB( FSYS_HAND fsh, /* I - File system handle */ + BOOLEAN set_it , /* I - TRUE if setting path, FALSE if getting */ + DBLK_PTR dblk, /* I - Descriptor block to get path from */ + CHAR_PTR buf, /*I/O- path to read (or to write) */ + INT16 *size ); /*I/O- size of buffer on entry and exit */ + +INT16 DOS_GetOSFnameFDB( DBLK_PTR dblk , /* I - Descriptor block to get path from */ + CHAR_PTR buf ); /*I/O- path to read (or to write) */ + +INT16 DOS_GetOSPathDDB( + FSYS_HAND fsh, /* I - File System handle */ + DBLK_PTR dblk , /* I - Descriptor block to get path from */ + CHAR_PTR buf ); /*I/O- path to read (or to write) */ + +INT16 DOS_GetFileVerFDB( DBLK_PTR dblk , + UINT32 *version ) ; + +INT16 DOS_GetCdateDBLK( DBLK_PTR dblk , /* I - Descriptor block to get creation date */ + DATE_TIME_PTR buf ); /*I/O- createion date to read (or to write) */ + +INT16 DOS_GetMdateDBLK( DBLK_PTR dblk , /* I - Descriptor block to get creation date */ + DATE_TIME_PTR buf ) ; /* O - modify date to write */ + +INT16 DOS_ModBdateDBLK( BOOLEAN set_it , /* I - TRUE if setting creation date, FALSE if getting */ + DBLK_PTR dblk , /* I - Descriptor block to get creation date */ + DATE_TIME_PTR buf ) ; /*I/O- createion date to read (or to write) */ + +INT16 DOS_ModAdateDBLK( BOOLEAN set_it , /* I - TRUE if setting creation date, FALSE if getting */ + DBLK_PTR dblk , /* I - Descriptor block to get creation date */ + DATE_TIME_PTR buf ) ; /*I/O- createion date to read (or to write) */ + +UINT64 DOS_GetDisplaySizeDBLK( FSYS_HAND fsh, /* I - File system handle */ + DBLK_PTR dblk ) ; /* I - Descriptor block to get generic data size for */ + +INT16 DOS_GetOS_InfoDBLK( DBLK_PTR dblk, /* I - DBLK to get the info from */ + CHAR_PTR os_info, /* O - Buffer to place data */ + INT16 *size ); /*I/O- Buffer size / data length */ + + +INT16 DOS_ModAttribDBLK( BOOLEAN set_it , + DBLK_PTR dblk , + UINT32_PTR attr ); + + +INT16 DOS_GetObjTypeDBLK( DBLK_PTR dblk, + OBJECT_TYPE *type ); + + +INT16 DOS_GetActualSizeDBLK( FSYS_HAND fsh, + DBLK_PTR dblk ) ; + +INT16 DOS_SizeofFname( FSYS_HAND fsh, /* I - file system in use */ + DBLK_PTR fdb ); /* I - dblk to get fname from */ + +INT16 DOS_SizeofOSFname( FSYS_HAND fsh, /* I - file system in use */ + DBLK_PTR fdb ) ; /* I - dblk to get fname from */ + +INT16 DOS_SizeofPath( FSYS_HAND fsh, /* I - File system handle */ + DBLK_PTR ddb ) ; /* I - DBLK to get path size from */ + +INT16 DOS_SizeofOSPath( FSYS_HAND fsh, /* I - File system handle */ + DBLK_PTR ddb ) ; /* I - DBLK to get path size from */ + +INT16 DOS_SizeofOSInfo( FSYS_HAND fsh, /* I - File system handle */ + DBLK_PTR dblk ); /* I - DBLK to get size of OS info for */ + + +INT16 DOS_PushMinDDB( FSYS_HAND fsh, + DBLK_PTR dblk ); + +INT16 DOS_PopMinDDB( FSYS_HAND fsh , + DBLK_PTR dblk ); + +INT16 DOS_CreateFDB( FSYS_HAND fsh, + GEN_FDB_DATA_PTR dat ) ; + +INT16 DOS_CreateDDB( FSYS_HAND fsh, + GEN_DDB_DATA_PTR dat ) ; + +INT16 DOS_CreateIDB( FSYS_HAND fsh, + GEN_IDB_DATA_PTR dat ) ; + +VOID DOS_SetOwnerId( FSYS_HAND fsh, DBLK_PTR dblk, UINT32 id ) ; + +BOOLEAN DOS_ProcessDDB( FSYS_HAND fsh, DBLK_PTR ddb ) ; + +INT16 DOS_ChangeIntoDDB( FSYS_HAND fsh, DBLK_PTR ddb ) ; + +VOID DOS_GetRealBasePath( FSYS_HAND fsh, CHAR_PTR path ) ; + + +INT16 DOS_GetSpecDBLKS( + FSYS_HAND fsh, + DBLK_PTR dblk, + INT32 *index ); + +INT16 DOS_FindDrives( DLE_HAND hand, BE_CFG_PTR cfg, UINT32 fsys_mask ); + +VOID DOS_GetVolName( GENERIC_DLE_PTR dle, CHAR_PTR buffer ) ; + +INT16 DOS_SizeofVolName( GENERIC_DLE_PTR dle ) ; + +BOOLEAN DOS_IsBlkComplete( FSYS_HAND fsh, DBLK_PTR dblk ) ; +INT16 DOS_CompleteBlk( FSYS_HAND fsh, DBLK_PTR dblk, CHAR_PTR buffer, UINT16 *size, STREAM_INFO_PTR sinfo ) ; +VOID DOS_ReleaseBlk( FSYS_HAND fsh, DBLK_PTR dblk ) ; +VOID DOS_InitMakeData( FSYS_HAND fsh, INT16 blk_type, CREATE_DBLK_PTR data ) ; + +#endif |