94 lines
3.1 KiB
C
94 lines
3.1 KiB
C
/****************************************************************************
|
|
|
|
|
| (C) Copyright 1995-1997 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) module
|
|
|
|
|
|---------------------------------------------------------------------------
|
|
|
|
|
| $Author: ying $
|
|
| $Date: 2005-07-08 03:51:03 +0530 (Fri, 08 Jul 2005) $
|
|
|
|
|
| $RCSfile$
|
|
| $Revision: 1098 $
|
|
|
|
|
|---------------------------------------------------------------------------
|
|
| This module is used to:
|
|
| This defines all of the primitive BEASTS inside of PSS
|
|
|
|
|
| WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!
|
|
|
|
|
| This header file should ONLY be used for NSS internal development.
|
|
| This includes Semantic Agents (SA) and Loadable Storage Services (LSS).
|
|
| Any other use may cause conflicts which NSS will NOT fix.
|
|
+-------------------------------------------------------------------------*/
|
|
#ifndef _COMNDATASTREAM_H_
|
|
#define _COMNDATASTREAM_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*---------------------------------------------------------------------------
|
|
* This structure is pointed to by the non-persistent dataStreamInfo pointer
|
|
* in a file beast. If a file beast has no Extended attributes or data
|
|
* streams, this structure will never be present. However, if the file beast
|
|
* does have extended attributes or data streams, this structure will be
|
|
* allocated when the first attempt is made to access this information.
|
|
*
|
|
* The first attempt to read or modify the data stream info will detect
|
|
* that dataStreamCount == DSI_COUNT_INVALID, and will calculate at that time
|
|
* the correct data stream counts and sizes. All subsequent attempts to
|
|
* read or modify the info will modify it directly.
|
|
*
|
|
* Likewise, the extended attribute info is handled the same way.
|
|
*
|
|
* When the file beast is freed up, this memory will be deallocated.
|
|
*---------------------------------------------------------------------------*/
|
|
|
|
#define DSI_COUNT_INVALID -1
|
|
|
|
typedef struct DataStreamCounts_s
|
|
{
|
|
NINT count; /* Set to DSI_COUNT_INVALID if not initialized */
|
|
QUAD dataSize;
|
|
NINT nameSize;
|
|
} DataStreamCounts_s;
|
|
|
|
typedef struct DataStreamInfo_s
|
|
{
|
|
DataStreamCounts_s dataStream;
|
|
DataStreamCounts_s extAttr;
|
|
} DataStreamInfo_s;
|
|
|
|
|
|
STATUS eflProcessDataStreams(
|
|
struct GeneralMsg_s *genMsg,
|
|
File_s *file,
|
|
NINT action,
|
|
struct Xaction_s *xaction);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|