/**************************************************************************** | | (C) Copyright 1985, 1991, 1993, 1996 Novell, Inc. | All Rights Reserved. | | This program is free software; you can redistribute it and/or | modify it under the terms of version 2 of the GNU General Public | License as published by the Free Software Foundation. | | This program is distributed in the hope that it will be useful, | but WITHOUT ANY WARRANTY; without even the implied warranty of | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | GNU General Public License for more details. | | You should have received a copy of the GNU General Public License | along with this program; if not, contact Novell, Inc. | | To contact Novell about this file by physical or electronic mail, | you may find current contact information at www.novell.com | |*************************************************************************** | | NetWare Advance File Services (NSS) namespace model | |--------------------------------------------------------------------------- | mars-nwe userspace adaptation: keep the imported NSS namespace registry | model visible, but bind it to mars-nwe namespace IDs and volume option | bits. The on-disk/file metadata remains the adapted NSS netware.metadata | model used by libnwfs. +-------------------------------------------------------------------------*/ #ifndef _NWFS_NAMESPACEMODEL_H_ #define _NWFS_NAMESPACEMODEL_H_ #include #include #ifdef __cplusplus extern "C" { #endif #define NWFS_NSPACE_VERSION 3 #define NWFS_MAX_NUM_NSPACES 32 #define NWFS_NSPACE_DOS 0 #define NWFS_NSPACE_MAC 1 #define NWFS_NSPACE_NFS 2 #define NWFS_NSPACE_FTAM 3 #define NWFS_NSPACE_OS2 4 #define NWFS_VOL_NAMESPACE_DOS 0x1000 #define NWFS_VOL_NAMESPACE_OS2 0x2000 #define NWFS_VOL_NAMESPACE_NFS 0x4000 #define NWFS_VOL_NAMESPACE_MAC 0x8000 #define NWFS_VOL_NAMESPACE_FTAM 0x10000 typedef struct NWFS_NameSpace_s { int nSpaceID; const char *name; uint32_t volumeOption; int isDataStream; const char *dataStreamName; const char *nssSourceFile; const char *nssStartupSymbol; } NWFS_NameSpace_s; extern const NWFS_NameSpace_s NWFS_DOSNameSpace; extern const NWFS_NameSpace_s NWFS_MacNameSpace; extern const NWFS_NameSpace_s NWFS_UnixNameSpace; extern const NWFS_NameSpace_s NWFS_LongNameSpace; extern const NWFS_NameSpace_s NWFS_DataStreamNameSpace; const NWFS_NameSpace_s *NWFS_GetNameSpace(int nameSpaceID); uint32_t NWFS_GetNameSpaceVolumeOption(int nameSpaceID); int NWFS_IsKnownNameSpace(int nameSpaceID); int NWFS_VolumeSupportsNameSpace(uint32_t volOptions, int nameSpaceID); int NWFS_CountNameSpaces(uint32_t options); uint8_t *NWFS_PutNameSpaceList(uint8_t *p, uint32_t options); int NWFS_FillNameSpaceBuffer(uint32_t loadedOptions, uint32_t volumeOptions, uint8_t *rdata, size_t rdataSize); #ifdef __cplusplus } #endif #endif /* _NWFS_NAMESPACEMODEL_H_ */