180 lines
3.9 KiB
C
180 lines
3.9 KiB
C
/****************************************************************************
|
|
|
|
|
| (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) module
|
|
|
|
|
|---------------------------------------------------------------------------
|
|
|
|
|
| $Author: gpachner $
|
|
| $Date: 2007-05-16 21:30:03 +0530 (Wed, 16 May 2007) $
|
|
|
|
|
| $RCSfile$
|
|
| $Revision: 1992 $
|
|
|
|
|
|---------------------------------------------------------------------------
|
|
| This module is used to:
|
|
| Function prototypes for NLMs friendly to NSS.
|
|
+-------------------------------------------------------------------------*/
|
|
#ifndef _ZFRIENDS_H_
|
|
#define _ZFRIENDS_H_
|
|
|
|
#ifndef _ZOMNI_H_
|
|
# include <zOmni.h>
|
|
#endif
|
|
|
|
#ifndef _ZPARAMS_H_
|
|
# include <zParams.h>
|
|
#endif
|
|
|
|
#ifndef _CHUNK_H_
|
|
# include <chunk.h>
|
|
#endif
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
STATUS zChangeConnection(
|
|
Key_t key,
|
|
NINT connectionID,
|
|
NINT taskID,
|
|
Key_t *retKey);
|
|
|
|
STATUS zReadPageChunks(
|
|
Key_t key,
|
|
Xid_t xid,
|
|
QUAD startingOffset,
|
|
NINT bytesToRead,
|
|
NSSChunk_s *chunks,
|
|
NINT maxChunks,
|
|
NINT *numChunks);
|
|
|
|
STATUS zReleasePageChunks(
|
|
NSSChunk_s *chunks,
|
|
NINT numChunks);
|
|
|
|
STATUS zZIDCreate(
|
|
Key_t key,
|
|
NINT taskID,
|
|
Xid_t xid,
|
|
NINT nameSpace,
|
|
VolumeID_t *volumeID,
|
|
Zid_t zid,
|
|
const void *path,
|
|
NINT fileType,
|
|
QUAD fileAttributes,
|
|
NINT createFlags,
|
|
NINT requestedRights,
|
|
Key_t *retKey);
|
|
|
|
STATUS zZIDLink(
|
|
Key_t key,
|
|
Xid_t xid,
|
|
VolumeID_t *srcVolumeID,
|
|
Zid_t srcZid,
|
|
Zid_t dstZid,
|
|
NINT dstNameSpace,
|
|
const void *dstPath,
|
|
NINT renameFlags);
|
|
|
|
STATUS xMangleConnection(
|
|
Key_t key,
|
|
NINT connectionID);
|
|
|
|
STATUS xSharedOpLock(
|
|
Key_t key,
|
|
voidfunc_t callback,
|
|
void *userdata);
|
|
|
|
STATUS xAdjustQuotaFileLen(
|
|
Key_t key,
|
|
SQUAD adjustFactor);
|
|
|
|
STATUS xGetMyZid (
|
|
Key_t key,
|
|
Zid_t *pzid);
|
|
|
|
/* DEPRECATED please use zZIDOpen*/
|
|
STATUS zOpenByZid( /* DEPRECATED */
|
|
Key_t key,
|
|
NINT taskID,
|
|
Zid_t zid,
|
|
NINT requestedRights,
|
|
Key_t *retKey);
|
|
/* END DEPRECATED */
|
|
|
|
/*
|
|
* The following two routines can be used to convert
|
|
* to/from traditional 32 bit ids and the NDS GUID for
|
|
* trustees and creators of files.
|
|
*/
|
|
STATUS xIdToGuid(LONG id, NDSid_t *guid);
|
|
STATUS xGuidToId(NDSid_t *guid, LONG *idp);
|
|
|
|
/*
|
|
* Convert to/from utc/dos time.
|
|
*/
|
|
DOSTime_t xUTC2dosTime(Time_t utc);
|
|
Time_t xDOS2utcTime(DOSTime_t dosTime);
|
|
|
|
STATUS xPoolGUIDToName(
|
|
VolumeID_t *poolID,
|
|
unicode_t *poolName,
|
|
NINT poolNameSizeInUnicode);
|
|
|
|
STATUS xPoolNameToGUID(
|
|
unicode_t *poolName,
|
|
VolumeID_t *poolID);
|
|
|
|
STATUS xPoolGetEnabledFeatures(
|
|
VolumeID_t *poolID,
|
|
QUAD *enabledFeatures );
|
|
|
|
STATUS xVolumeGUIDToName(
|
|
VolumeID_t *volumeID,
|
|
unicode_t *volumeName,
|
|
NINT volumeNameSizeInUnicode);
|
|
|
|
STATUS xVolumeNameToGUID(
|
|
unicode_t *volumeName,
|
|
VolumeID_t *volumeID);
|
|
|
|
/*
|
|
* The following two routines are for clustering to use when forcing a
|
|
* volume to upgrade.
|
|
*/
|
|
STATUS xForceVolumeUpgrade (
|
|
unicode_t *volName,
|
|
STATUS (*callBack)(NINT processedCount, NINT updatedCount),
|
|
NINT *processedCount,
|
|
NINT *upgradedCount);
|
|
BOOL xIsVolumeUpgraded(unicode_t *volName);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
|
|
#endif
|