Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

286 lines
8.0 KiB

/**
Copyright(c) Maynard Electronics, Inc. 1984-89
Name: dle.h
Date Updated: $./FDT$ $./FTM$
Description: This header file provides declarations
need to access the FSU for DLE specific functions.
Location: BE_PUBLIC
$Log: M:/LOGFILES/DLE.H_V $
*
* Rev 1.26 03 Aug 1993 16:29:18 JOHNES
* Added DLE_GetAttachCount macro.
*
* Rev 1.25 19 Jul 1993 10:25:44 BARRY
* Added macro to get the list in which a DLE is contained.
*
* Rev 1.24 17 Jun 1993 11:38:40 ChuckS
* Added DLE_IsNonVolume macro.
*
* Rev 1.23 14 Jun 1993 18:09:36 BARRY
* Fixed error in change to FS_PromptForBindery macro.
*
* Rev 1.22 11 Jun 1993 14:18:50 BARRY
* Changed prompt FS_PromptForBindery to use new special files definitions.
*
* Rev 1.21 04 Jun 1993 17:35:58 ChuckS
* P_CLIENT & OS_DOS only: Added prototype for functional form of
* DLE_GetDefaultDrive.
*
* Rev 1.20 22 Apr 1993 10:12:04 BILLB
* Added support for GRFS Device subtypes
*
* Rev 1.19 18 Mar 1993 15:20:22 ChuckS
* Changes for Generic Device Names for VOLB
*
* Rev 1.18 16 Dec 1992 11:50:44 DON
* Changed file system specific Server/Volume macros into functions - dleget.c
*
* Rev 1.17 09 Dec 1992 11:40:48 DON
* Changed function prototype to macro for DLE_
*
* Rev 1.16 11 Nov 1992 22:09:44 GREGG
* Unicodeized literals.
*
* Rev 1.15 21 Jul 1992 14:04:20 STEVEN
* added support for DLE_GetUserName
*
* Rev 1.14 28 May 1992 09:44:12 BARRY
* Move changes on branches back to tip.
*
* Rev 1.14 28 May 1992 09:43:56 BARRY
* Move changes on branches back to tip.
*
* Rev 1.13 21 May 1992 13:46:54 STEVEN
* more long path support
*
* Rev 1.12 28 Feb 1992 14:42:58 STEVEN
* fix bug with display name
*
* Rev 1.11 13 Feb 1992 11:37:38 STEVEN
* fix support stuff
*
* Rev 1.10 20 Dec 1991 09:31:12 STEVEN
* move common files to tables
*
* Rev 1.9 31 Oct 1991 16:25:42 BARRY
* TRICYCLE: Added a DLE features macro and converted SupportChild()
* to use this macro.
*
* Rev 1.8 01 Oct 1991 12:58:18 BARRY
* Tag BE_CFG_PTRs passed to DLE functions.
*
* Rev 1.7 08 Aug 1991 19:09:22 DON
* added support for NLM_SERVER_ONLY to DLE_SupportChild macro
*
* Rev 1.5 30 Jul 1991 10:19:20 DON
* ifdef'd macros for accessing info.server/info.nlm_server data
*
* Rev 1.4 21 Jun 1991 13:23:16 BARRY
* Changes for new config.
*
* Rev 1.3 18 Jun 1991 13:50:32 STEVEN
* DEFINE MBS_DEV_TYPE
*
* Rev 1.2 30 May 1991 13:51:44 BARRY
* No longer have selector to DLE_UpdateList().
*
* Rev 1.1 20 May 1991 16:42:16 STEVEN
* queues.h should be in quotes
*
* Rev 1.0 09 May 1991 13:31:10 HUNTER
* Initial revision.
**/
#ifndef DLE_H
#define DLE_H 1
#include "queues.h"
#include "beconfig.h"
#include "dle_str.h"
/* $end$ include list */
/**
Defines for DLE parameters
**/
/* DLE_DeviceDispName() - type */
#define DISP_LONG_DEV_NAME 0
#define DISP_SHORT_DEV_NAME 1
#define MBS_DEV_NAME 2
#define GEN_LONG_DEV_NAME 3
/**
Macros used to access the DLE
**/
#define DLE_DeviceDispName( dle, dev_name, size, disp_type ) \
(msassert ( func_tab[ (dle)->type ].DevDispName != NULL),\
(func_tab [(dle)->type].DevDispName( dle, dev_name, size, disp_type ) ) )
#define DLE_DeviceName( dle, dev_name, size ) \
DLE_DeviceDispName( dle, dev_name, size, GEN_LONG_DEV_NAME )
#define DLE_GetVolName( dle, buffer ) \
(msassert ( func_tab[ (dle)->type ].GetVolName != NULL),\
(func_tab [(dle)->type].GetVolName( dle, buffer ) ) )
#define DLE_SizeofVolName( dle ) \
(msassert ( func_tab[ (dle)->type ].SizeofVolName != NULL),\
(func_tab [(dle)->type].SizeofVolName( dle ) ) )
#define DLE_SizeofDevName( dle ) \
(msassert( func_tab[ (dle)->type ].SizeofDevName != NULL ), \
(func_tab[ (dle)->type ].SizeofDevName( dle ) ) )
#define DLE_ViewUserName( dle ) \
((dle)->user_name)
#define DLE_SizeofUserName( dle ) \
((dle)->user_name_leng)
#define FS_MakePath( buf, bsize, dle, path, psize, fname ) \
(msassert ( func_tab[ (dle)->type ].MakePath != NULL),\
(func_tab [(dle)->type].MakePath( buf, bsize, dle, path, psize, fname ) ) )
#if defined( P_CLIENT ) && defined( OS_DOS )
GENERIC_DLE_PTR DLE_GetDefaultDrive( DLE_HAND hand ) ;
#else
#define DLE_GetDefaultDrive( hand ) \
((hand)->default_drv)
#endif
#define DLE_GetOsId( dle ) \
((dle)->os_id)
#define DLE_SetDefaultDrive( hand, dle ) \
((hand)->default_drv = (dle))
#define DLE_GetDeviceType( dle ) \
((dle)->type & (~HAND_MADE_MASK))
#define DLE_GetDeviceSubType( dle ) \
((dle)->subtype)
#define DLE_GetDeviceName( dle ) \
( (dle)->device_name)
#define DLE_GetDeviceNameLeng( dle ) \
( (dle)->device_name_leng)
#define DLE_GetPathDelim( dle ) \
( (dle)->path_delim)
#define DLE_GetHandle( dle ) \
( (dle)->handle )
#define DLE_GetParent( dle ) \
( (dle)->parent )
#define DLE_PswdRequired( dle ) \
( (dle)->pswd_required)
#define DLE_PswdSaved( dle ) \
( (dle)->pswd_saved)
#define DLE_UserRequired( dle ) \
( (dle)->name_required)
#define DLE_UserSaved( dle ) \
( (dle)->name_saved)
#define DLE_DriveWriteable( dle ) \
( (dle)->dle_writeable)
#define DLE_GetNumChild( dle ) \
(QueueCount( &(dle)->child_q ) )
#define DLE_HasFeatures( dle, mask ) \
( ( ((dle)->feature_bits & (mask)) == (mask) ? TRUE : FALSE ) )
#define DLE_SupportChild( dle ) \
( DLE_HasFeatures( (dle), DLE_FEAT_SUPPORTS_CHILDREN ) )
#define DLE_SupportAccessDate( dle ) \
( DLE_HasFeatures( (dle), DLE_FEAT_ACCESS_DATE ) )
#define DLE_IsNonVolume( dle ) \
( DLE_HasFeatures( dle, DLE_FEAT_NON_VOLUME_OBJECT ) )
#define FS_PromptForBindery( dle ) \
( DLE_HasFeatures( (dle), DLE_FEAT_BKUP_SPECIAL_FILES ) || \
DLE_HasFeatures( (dle), DLE_FEAT_REST_SPECIAL_FILES ))
#define FS_PromptForSecure( dle ) \
( DLE_HasFeatures( (dle), DLE_FEAT_DATA_SECURITY ) )
#define DLE_IncBSDCount( dle ) \
( (dle)->bsd_use_count++ )
#define DLE_DecBSDCount( dle ) \
( (dle)->bsd_use_count-- )
#define DLE_IsImageDOS( dle ) \
( ((dle)->type == LOCAL_IMAGE) && ((dle)->info.image->drive_char != TEXT('\0') ) )
#define DLE_GetImageDriveNum( dle ) \
((dle)->info.image->drive_num & 0x7f )
#define DLE_GetImagePartNum( dle ) \
((dle)->info.image->partition )
#define DLE_IsTemporary( dle ) \
( (dle)->type & HAND_MADE_MASK )
#define DLE_GetAttachCount( dle ) \
( (dle)->attach_count )
/**
DLE support functions
**/
INT16 DLE_ResetList( DLE_HAND hand );
INT16 DLE_Remove( DLE_HAND hand, GENERIC_DLE_PTR dle ) ;
INT16 DLE_GetFirst( DLE_HAND hand, GENERIC_DLE_PTR *dle );
INT16 DLE_GetFirstChild( GENERIC_DLE_PTR server_dle, GENERIC_DLE_PTR *dle ) ;
INT16 DLE_GetNext( GENERIC_DLE_PTR *dle ) ;
INT16 DLE_GetPrev( GENERIC_DLE_PTR *dle ) ;
INT16 DLE_FindByName( DLE_HAND hand, CHAR_PTR name, INT16 type, GENERIC_DLE_PTR *dle ) ;
INT16 DLE_OSVerToType( UINT8 os_id, UINT8 os_ver ) ;
INT16 DLE_UpdateList( DLE_HAND dle_hand, BE_CFG_PTR cfg ) ;
INT16 DLE_DeleteList( DLE_HAND dle_hand, BE_CFG_PTR cfg, UINT16 dle_selector ) ;
VOID DLE_SetPartName( DLE_HAND dle_hand, UINT16 drive_num, UINT16 part_num, CHAR_PTR name ) ;
INT16 FS_AddTempDLE( DLE_HAND dle_hand, CHAR_PTR name, CHAR_PTR vol_name, INT16 type ) ;
INT16 DLE_ServerLoggedIn( GENERIC_DLE_PTR server_dle ) ;
CHAR_PTR DLE_GetServerPswd( GENERIC_DLE_PTR server_dle ) ;
CHAR_PTR DLE_GetServerUserName( GENERIC_DLE_PTR server_dle ) ;
UINT8 DLE_GetServerNum( GENERIC_DLE_PTR server_dle ) ;
#endif