#ifndef _NSRALIAS_ //-*-c++-*-
#define _NSRALIAS_

//----------------------------------------------------------------------
//  nsrAlias.h
//   This file contains aliases for the types and classes defined
//   inside of the NSR scope. It is the way to export NSR::<typename>
//   into the global namespace with whatever name is desired, thus
//   avoiding the NSR:: prefix.
//
//      Unpublished Confidential Information of Hewlett-Packard
//      Company. Do not disclose.  Copyright (c) Hewlett-Packard
//      Company 1995. All rights reserved
// 
// The contents of this software are proprietary and confidential to
// the Hewlett- Packard Company, and are limited in distribution to
// those with a direct need to know.  Individuals having access to
// this software are responsible for maintaining the confidentiality
// of the content and for keeping the software secure when not in use.
// Transfer to any party is strictly forbidden other than as expressly
// permitted in writing by Hewlett-Packard Company.  Unauthorized
// transfer to or possession by any unauthorized party may be a
// criminal offense.
//
//                  RESTRICTED RIGHTS LEGEND
//
//      Use,  duplication,  or disclosure by the U. S. Government is
//      subject to restrictions as set forth in subparagraph (c) (1)
//      (ii) in the Rights in Technical Data and Computer Software
//      clause in DFARS 252.227-7013 or any other successor clause.
//
//                      HEWLETT-PACKARD COMPANY
//                      3000 Hanover St.
//                      Palo Alto, CA  94304 U.S.A.
//
//      Rights for non-DOD U.S. Government Departments and Agencies
//      are as set forth in FAR 52.227-19 (c) (1,2) or any other
//      successor clause.
//
//  NOTES:
//
//   The defines which this supports are as follows:
//
//   _NO_ALIASES_ : If this is defined, no aliases should be
//                  used. This is used when building the library
//                  itself. The aliases should only be used when
//                  compiling code which uses the library.
//
//   _HP_ALIASES_ : These are the aliases which HP uses in its
//                  tests and verification code. They should be left
//                  alone, so that HP's code works properly. Define
//                  this if you want to use HP's aliases.
//
//   _HP_ENUM_ALIASES_ : These export the enum values out of the NSR
//                       namespace. Define this if you want to use
//                       HP's enumeration value aliases. 
//
//----------------------------------------------------------------------
// $Source: /projects/HMS/nsr/udfCore/config/nsrAlias.h,v $
// $Revision: 1.22 $    $Author: hmgr $
// $State: Exp $        $Locker:  $
// $Date: 96/06/27 02:55:45 $
//

#ifndef _NO_ALIASES_

// Using Aliases
//
//    Since the code defines its types inside of the NSR scope,
//    whenever its types are referenced by code outside of the NSR
//    scope, they must be referenced via the NSR:: scope resolution
//    operator. This can be cumbersome.
//
//    Therefore, we have provided this file, in which the NSR types
//    may be typedefed to anything the user wants. Essentially, the
//    typedefs here export the NSR-defined internal types into the
//    user's namespace.
//
//    Users will have different needs, so this file is in the config
//    directory, along with all of the other files that may need
//    modification for a given user.
//
//    We provide some aliases which essentially just export the NSR
//    types as-is. We use these in the test and verification code
//    which is shipped with the library.
//
//    If you would like to use these, simply uncomment the line
//    defining _HP_ALIASES_, or compile your code with a
//    -D_HP_ALIASES_ option.
//

//    ----------------------------------------------------------
//    If you want to use HP's ALIASES, uncomment the line below:
//    ----------------------------------------------------------

//    #define _HP_ALIASES_

#ifndef _HP_ALIASES_

//    -----------------------------
//    Define your own ALIASES here.
//    -----------------------------
// e.g.,
//
// typedef NSR::UINT8           myUnsignedChar;
// typedef NSR::UINT16          myUnsignedShort;
// typedef NSR::UINT32          myUnsignedLong;
// typedef NSR::UINT64          myUnsignedLong;
// typedef NSR::INT8            myChar;
// typedef NSR::INT16           myShort;
// typedef NSR::INT32           myLong;
// typedef NSR::INT64           myLong;
// typedef NSR::BYTE            myUnsignedChar;
//

typedef NSR::UINT8                  UINT8;
typedef NSR::UINT16                 UINT16;
typedef NSR::UINT32                 UINT32;
typedef NSR::UINT64                 UINT64;
typedef NSR::INT8                       INT8;
typedef NSR::INT16                  INT16;
typedef NSR::INT32                  INT32;
typedef NSR::BYTE                       BYTE;
#if !defined MAC_PLATFORM
typedef NSR::Boolean                Boolean;
#endif

typedef NSR::CHAR                   CHAR;
typedef NSR::VOID_PTR               VOID_PTR;
typedef NSR::CHAR_PTR               CHAR_PTR;
typedef NSR::BYTE_PTR               BYTE_PTR;
typedef NSR::CONST_CHAR_PTR         CONST_CHAR_PTR;
typedef NSR::CONST_BYTE_PTR         CONST_BYTE_PTR;
typedef NSR::CONST_CHAR_PTR_CONST   CONST_CHAR_PTR_CONST;
typedef NSR::CONST_BYTE_PTR_CONST   CONST_BYTE_PTR_CONST;

typedef NSR::Error                  Error;

typedef NSR::String                 String;
typedef NSR::ByteArray              ByteArray;
typedef NSR::ByteArrayRef           ByteArrayRef;
typedef NSR::Attributes             Attributes;
typedef NSR::ImplementationInfo     ImplementationInfo;
typedef NSR::PathElementList        PathElementList;
typedef NSR::PathElement            PathElement;

// *** Do not modify below this line ***

#else // _HP_ALIASES_

// First, the common base-level types.
typedef NSR::UINT8              UINT8;
typedef NSR::UINT16             UINT16;
typedef NSR::UINT32             UINT32;
typedef NSR::UINT64             UINT64;
typedef NSR::INT8               INT8;
typedef NSR::INT16              INT16;
typedef NSR::INT32              INT32;
typedef NSR::BYTE               BYTE;
typedef NSR::Boolean            Boolean;
#ifdef _HP_ENUM_ALIASES_
 #define   True                  NSR::True
 #define   False                 NSR::False
#endif

typedef NSR::CHAR                       CHAR;
typedef NSR::VOID_PTR                   VOID_PTR;
typedef NSR::CHAR_PTR                   CHAR_PTR;
typedef NSR::BYTE_PTR                   BYTE_PTR;
typedef NSR::CONST_CHAR_PTR             CONST_CHAR_PTR;
typedef NSR::CONST_BYTE_PTR             CONST_BYTE_PTR;
typedef NSR::CONST_CHAR_PTR_CONST       CONST_CHAR_PTR_CONST;
typedef NSR::CONST_BYTE_PTR_CONST       CONST_BYTE_PTR_CONST;

typedef NSR::Error              Error;
#ifdef _HP_ENUM_ALIASES_
 #define   error_None                   NSR::error_None
// No other ones defined -- too many...
#endif

typedef NSR::String             String;
typedef NSR::ByteArray          ByteArray;
typedef NSR::ByteArrayRef       ByteArrayRef;
typedef NSR::ImplementationInfo ImplementationInfo;
typedef NSR::PathElementList    PathElementList;
typedef NSR::PathElement        PathElement;
typedef NSR::Trace              Trace;

#ifdef _INCL_TRUSTEES_
typedef NSR::NetwareTrusteeInfo     NetwareTrusteeInfo;
typedef NSR::NetwareTrusteeInfoList NetwareTrusteeInfoList;
#endif // _INCL_TRUSTEES_

#ifdef _INCL_DESCRS_

// Enums
                                                        
typedef NSR::WriteProtectType          WriteProtectType;

typedef NSR::EAType                    EAType;
typedef NSR::SupportedEAType           SupportedEAType;

typedef NSR::PathComponentType         PathComponentType;
#ifdef _HP_ENUM_ALIASES_
 #define   pc_Reserved                  NSR::pc_Reserved
 #define   pc_FSRoot                    NSR::pc_FSRoot
 #define   pc_DirRoot                   NSR::pc_DirRoot
 #define   pc_Parent                    NSR::pc_Parent
 #define   pc_Same                      NSR::pc_Same
#endif
typedef NSR::FileType                  FileType;
#ifdef _HP_ENUM_ALIASES_
 #define   file_Unspecified             NSR::file_Unspecified
 #define   file_Directory               NSR::file_Directory
 #define   file_Raw                     NSR::file_Raw
 #define   file_SpecialBlockDevice      NSR::file_SpecialBlockDevice
 #define   file_SpecialCharacterDevice  NSR::file_SpecialCharacterDevice
 #define   file_ExtendedAttributes      NSR::file_ExtendedAttributes
 #define   file_Fifo                    NSR::file_Fifo
 #define   file_Sock                    NSR::file_Sock
 #define   file_SymbolicLink            NSR::file_SymbolicLink
 #define   file_InvalidFile             NSR::file_InvalidFile
#endif
typedef NSR::ICBType                   ICBType;
#ifdef _HP_ENUM_ALIASES_
 #define   icb_FileEntry                NSR::icb_FileEntry
 #define   icb_UnallocatedSpaceEntry    NSR::icb_UnallocatedSpaceEntry
 #define   icb_PartIntegrityError       NSR::icb_PartIntegrityError
 #define   icb_IndirectEntry            NSR::icb_IndirectEntry
 #define   icb_TerminalEntry            NSR::icb_TerminalEntry
#endif
typedef NSR::WriteProtectType          WriteProtectType;
#ifdef _HP_ENUM_ALIASES_
 #define   wrprot_None                  NSR::wrprot_None
 #define   wrprot_Soft                  NSR::wrprot_Soft
 #define   wrprot_Hard                  NSR::wrprot_Hard
#endif
typedef NSR::ExtType                   ExtType;
#ifdef _HP_ENUM_ALIASES_
 #define   ext_Recorded                 NSR::ext_Recorded   
 #define   ext_Allocated                NSR::ext_Allocated  
 #define   ext_Unallocated              NSR::ext_Unallocated
 #define   ext_AllocExtent              NSR::ext_AllocExtent
#endif
typedef NSR::TagType                   TagType;
#ifdef _HP_ENUM_ALIASES_
 #define   tag_Unknown                  NSR::tag_Unknown
 #define   tag_PVD                      NSR::tag_PVD
 #define   tag_AVD                      NSR::tag_AVD
 #define   tag_VPD                      NSR::tag_VPD
 #define   tag_IUVD                     NSR::tag_IUVD
 #define   tag_PD                       NSR::tag_PD
 #define   tag_LVD                      NSR::tag_LVD
 #define   tag_LVID                     NSR::tag_LVID
 #define   tag_FSD                      NSR::tag_FSD
 #define   tag_FID                      NSR::tag_FID
 #define   tag_AED                      NSR::tag_AED
 #define   tag_IE                       NSR::tag_IE
 #define   tag_TE                       NSR::tag_TE
 #define   tag_FE                       NSR::tag_FE
 #define   tag_EAHD                     NSR::tag_EAHD
 #define   tag_USE                      NSR::tag_USE
 #define   tag_SBD                      NSR::tag_SBD
 #define   tag_PIE                      NSR::tag_PIE
#endif
typedef NSR::ADType                    ADType;
#ifdef _HP_ENUM_ALIASES_
 #define   ad_Short                     NSR::ad_Short
 #define   ad_Long                      NSR::ad_Long
 #define   ad_Embedded                  NSR::ad_Embedded
 #define   ad_Extended                  NSR::ad_Extended
 #define   ad_Unknown                   NSR::ad_Unknown
#endif
typedef NSR::AccessType                AccessType;
#ifdef _HP_ENUM_ALIASES_
 #define   Unspecified                  NSR::Unspecified
 #define   ReadOnly                     NSR::ReadOnly
 #define   WriteOnce                    NSR::WriteOnce
 #define   Rewritable                   NSR::Rewritable
 #define   OverWritable                 NSR::OverWritable
#endif
typedef NSR::IntegrityType             IntegrityType;
#ifdef _HP_ENUM_ALIASES_
 #define   integ_Open                   NSR::integ_Open
 #define   integ_Closed                 NSR::integ_Closed
#endif
typedef NSR::ImplRegID                 ImplRegID;

// Part 2 Descriptors from nsrRecog.h

typedef NSR::VolStructDesc      VolStructDesc;
typedef NSR::BegExtAreaDesc     BegExtAreaDesc;
typedef NSR::NSRDescriptor      NSRDescriptor;
typedef NSR::TermExtAreaDesc    TermExtAreaDesc;

// Tagged Descriptors from nsrVol.h, nsrFile.h

typedef NSR::AllocExtentDesc             AllocExtentDesc;
typedef NSR::AnchorVolumeDesc            AnchorVolumeDesc;
typedef NSR::ExtendedAttrHeaderDesc      ExtendedAttrHeaderDesc;
typedef NSR::FileEntry                   FileEntry;
typedef NSR::FileIdentifierDesc          FileIdentifierDesc;
typedef NSR::FileSetDesc                 FileSetDesc;
typedef NSR::ImplementUseVolumeDesc      ImplementUseVolumeDesc;
typedef NSR::IndirectEntry               IndirectEntry;
typedef NSR::LogicalVolumeDesc           LogicalVolumeDesc;
typedef NSR::LogicalVolumeIntegrityDesc  LogicalVolumeIntegrityDesc;
typedef NSR::OSTAVolumeDesc              OSTAVolumeDesc;
typedef NSR::PartitionDesc               PartitionDesc;
typedef NSR::PrimaryVolumeDesc           PrimaryVolumeDesc;
typedef NSR::SearchDescriptor            SearchDescriptor;
typedef NSR::TerminalEntry               TerminalEntry;
typedef NSR::TerminatingDesc             TerminatingDesc;
typedef NSR::UnallocatedSpaceDesc        UnallocatedSpaceDesc;
typedef NSR::UnallocatedSpaceEntry       UnallocatedSpaceEntry;
typedef NSR::SpaceBitmapDesc             SpaceBitmapDesc;
typedef NSR::SpaceBitmapMap              SpaceBitmapMap;

// EA

typedef NSR::EAType              EAType              ;
#ifdef _HP_ENUM_ALIASES_
 #define ea_CharSetInfo     NSR::ea_CharSetInfo    
 #define ea_AlternatePerms  NSR::ea_AlternatePerms 
 #define ea_FileTimes       NSR::ea_FileTimes      
 #define ea_InfoTimes       NSR::ea_InfoTimes      
 #define ea_DeviceSpec      NSR::ea_DeviceSpec     
 #define ea_ImplementUse    NSR::ea_ImplementUse   
 #define ea_ApplicationUse  NSR::ea_ApplicationUse 
 #define ea_Unknown         NSR::ea_Unknown        
#endif

typedef NSR::CharSetInfoEA       CharSetInfoEA       ;
typedef NSR::AlternatePermsEA    AlternatePermsEA    ;
typedef NSR::FileTimesEA         FileTimesEA         ;
typedef NSR::InfoTimesEA         InfoTimesEA         ;
typedef NSR::DeviceSpecEA        DeviceSpecEA        ;
typedef NSR::ImplementUseEA      ImplementUseEA      ;
typedef NSR::ApplicationUseEA    ApplicationUseEA    ;
typedef NSR::FreeEASpaceEA       FreeEASpaceEA       ;
 
#ifdef _INCL_OS2_EATTRS_ 
 
typedef NSR::OS2FullEA           OS2FullEA           ;
typedef NSR::OS2FEATable         OS2FEATable         ;
typedef NSR::OS2EA               OS2EA               ;
typedef NSR::OS2EALengthEA       OS2EALengthEA       ;

#endif // _INCL_OS2_EATTRS_

#ifdef _INCL_MAC_EATTRS_

typedef NSR::MacVolumeInfoEA     MacVolumeInfoEA     ;
typedef NSR::MacPoint            MacPoint            ;
typedef NSR::MacRect             MacRect             ;
typedef NSR::MacDInfo            MacDInfo            ;
typedef NSR::MacDXInfo           MacDXInfo           ;
typedef NSR::MacFInfo            MacFInfo            ;
typedef NSR::MacFXInfo           MacFXInfo           ;
typedef NSR::MacDirFinderInfoEA  MacDirFinderInfoEA  ;
typedef NSR::MacFileFinderInfoEA MacFileFinderInfoEA ;
typedef NSR::SmallAD             SmallAD             ;
typedef NSR::MacUniqueIDTableEA  MacUniqueIDTableEA  ;
typedef NSR::MacResourceForkEA   MacResourceForkEA   ;
#endif // _INCL_MAC_EATTRS_ 
 
#ifdef _INCL_TRUSTEES_ 
 
typedef NSR::NovellAttrEA        NovellAttrEA        ;
typedef NSR::NovellRights        NovellRights        ;
typedef NSR::NovellRightsAssign  NovellRightsAssign  ;
typedef NSR::NovellRightsTable   NovellRightsTable   ;
typedef NSR::NovellTrusteeEA     NovellTrusteeEA     ;

#endif // _INCL_TRUSTEES_

#ifdef _INCL_ICBTABLE_EATTR_

typedef NSR::ICBTableEA          ICBTableEA  ;

#endif // _INCL_ICBTABLE_EATTR_

typedef NSR::EAInspector         EAInspector ;
typedef NSR::SearchEA            SearchEA    ;
                                                        
// Fields from nsrTypes.h
                                                        
typedef NSR::Uint8                Uint8;
typedef NSR::Int16                Int16;
typedef NSR::Uint16               Uint16;
typedef NSR::Uint32               Uint32;
typedef NSR::Uint64               Uint64;
typedef NSR::Bit8                 Bit8;
typedef NSR::Ubits8               Ubits8;
typedef NSR::Bit16                Bit16;
typedef NSR::Bits16               Bits16;
typedef NSR::Ubits16              Ubits16;
typedef NSR::Ubits32              Ubits32;
typedef NSR::TypeTimeZone         TypeTimeZone;
typedef NSR::TimeStamp            TimeStamp;
typedef NSR::Bytes                Bytes;
typedef NSR::Dchars               Dchars;
typedef NSR::RegID                RegID;
typedef NSR::DomainRegID          DomainRegID;
typedef NSR::OSTARegID            OSTARegID;
typedef NSR::Dstring              Dstring;
typedef NSR::LogicalBlockAddr     LogicalBlockAddr;
typedef NSR::ExtLength            ExtLength;
typedef NSR::ShortAllocDesc       ShortAllocDesc;
typedef NSR::LongAllocDesc        LongAllocDesc;
typedef NSR::ExtendedAllocDesc    ExtendedAllocDesc;
typedef NSR::ExtentDesc           ExtentDesc;
typedef NSR::DescriptorTag        DescriptorTag;
                                                        
// Fields from nsrVol.h
                                                        
typedef NSR::ADTable              ADTable;
typedef NSR::PartitionHdrDesc     PartitionHdrDesc;
typedef NSR::PDFlags              PDFlags;
typedef NSR::PartitionMap         PartitionMap;
typedef NSR::PartMapTable         PartMapTable;
typedef NSR::Uint32Table          Uint32Table;
typedef NSR::PVDFlags             PVDFlags;
                                                        
// Fields from nsrFile.h
                                                        
typedef NSR::ICBFlags             ICBFlags;
typedef NSR::ICBTag               ICBTag;
typedef NSR::FilePerms            FilePerms;
typedef NSR::FileCharacteristics  FileCharacteristics;

// From nsrAttr.h

typedef NSR::Attributes           Attributes;

#endif // _INCL_DESCRS_

#ifdef _INCL_SSDEV_

typedef NSR::MediaType            MediaType;
typedef NSR::SSDevice             SSDevice;

#endif // _INCL_SSDEV_

#ifdef _INCL_SSOBJS_

typedef NSR::DirEntType           DirEntType;
#ifdef _HP_ENUM_ALIASES_
 #define de_Parent  NSR::de_Parent
 #define de_Subdir  NSR::de_Subdir
 #define de_File    NSR::de_File
#endif
typedef NSR::DirEntry             DirEntry;
typedef NSR::DirList              DirList;
typedef NSR::DirListIter          DirListIter;
typedef NSR::PhysExtent           PhysExtent;
typedef NSR::PhysExtentList       PhysExtentList;
typedef NSR::PhysExtentListIter   PhysExtentListIter;
typedef NSR::ExtentType           ExtentType;
#ifdef _HP_ENUM_ALIASES_
 #define   Erased     NSR::Erased
 #define   Unerased   NSR::Unerased
 #define   Recorded   NSR::Recorded
 #define   Imaginary  NSR::Imaginary
#endif
typedef NSR::LogExtent            LogExtent;
typedef NSR::LogExtentList        LogExtentList;
typedef NSR::LogExtentListIter    LogExtentListIter;
typedef NSR::PackedLogExtentList  PackedLogExtentList;
typedef NSR::Node                 Node;
typedef NSR::PhysicalVolume       PhysicalVolume;
typedef NSR::PhysicalVolumeSet    PhysicalVolumeSet;
typedef NSR::Partition            Partition;
typedef NSR::LogicalVolume        LogicalVolume;
typedef NSR::Integrity            Integrity;
typedef NSR::FileSet              FileSet;
typedef NSR::PhysicalVolume       PhysicalVolume;
typedef NSR::SingleSurfaceVolume  SingleSurfaceVolume;
typedef NSR::SRSpaceType          SRSpaceType;
#ifdef _HP_ENUM_ALIASES_
 #define srSpace_ErasedOnly        NSR::srSpace_ErasedOnly
 #define srSpace_UnerasedOnly      NSR::srSpace_UnerasedOnly
 #define srSpace_ErasedAndUnerased NSR::srSpace_ErasedAndUnerased
#endif
typedef NSR::SpaceResource        SpaceResource;
typedef NSR::LELSpaceResource     LELSpaceResource;
typedef NSR::ISOSpaceResource     ISOSpaceResource;
typedef NSR::TableSpaceResource   TableSpaceResource;
typedef NSR::BitmapSpaceResource  BitmapSpaceResource;
typedef NSR::SRDescType           SRDescType;
#ifdef _HP_ENUM_ALIASES_
 #define   srDesc_Table  NSR::srDesc_Table 
 #define   srDesc_Bitmap NSR::srDesc_Bitmap
#endif
typedef NSR::MasterSpaceResource  MasterSpaceResource;

#endif // _INCL_SSOBJS_

#ifdef _INCL_MSDEV_

typedef NSR::MSDevice           MSDevice;

#endif // _INCL_MSDEV_

#ifdef _INCL_MSOBJS_

typedef NSR::sid_t              Sid_t;
typedef NSR::Address            Address;
typedef NSR::Extent             Extent;
typedef NSR::ExtentList         ExtentList;
typedef NSR::FileSetInfo        FileSetInfo;
typedef NSR::FileSetList        FileSetList;
typedef NSR::VolumeInfoList     VolumeInfoList;
typedef NSR::VolumeSetInfo      VolumeSetInfo;

typedef NSR::Archive            Archive;

#endif // _INCL_MSOBJS_

#endif // _HP_ALIASES_

#endif // _NO_ALIASES_

#endif // _NSRALIAS_




