2006-03-10 18:39:22 +00:00

123 lines
4.9 KiB
C

/***********************************************************************
*
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; version 2.1
* of the License.
*
* This library 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
* Library Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc.
*
* To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com.
*
***********************************************************************/
/* Public include file for Large Virtual List Iterator */
#if !defined( NWITR_H )
#define NWITR_H
#include "ntypes.h"
#include "nwdsbuft.h"
#define DS_ITR_FIRST 0 /* First entry position in list */
#define DS_ITR_LAST 1000 /* Last entry position in list */
#define DS_ITR_EOF 1001 /* End-of-file position. */
#define DS_ITR_UNICODE_STRING 0 /* Indicates a unicode string */
#define DS_ITR_BYTE_STRING 2 /* Indicates a byte string */
#define DS_ITR_PREFER_SCALABLE 0 /* If can't get scalable, emulate [not supported in FCS] */
#define DS_ITR_REQUIRE_SCALABLE 1 /* If can't get scalable, return error */
#define DS_ITR_FORCE_EMULATION 2 /* Always force emulation mode */
#define DS_ITR_ANY_SERVER 3 /* Get any server */
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSItrCreateList
(
NWDSContextHandle context,
pnstr8 baseObjectName, /* Starting object to search */
pnstr8 className, /* Class name if List operation */
pnstr8 subordinateName, /* RDN if List operation */
nuint32 scalability, /* Require or prefer SKADS server */
nuint32 timeout, /* Timeout in milliseconds */
pnuint32 pIterator /* Returned Iterator Ptr */
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSItrCreateSearch
(
NWDSContextHandle context,
pnstr8 baseObjectName, /* Starting object to search */
nint scope, /* Object, immed subord or subtree */
nbool8 searchAliases, /* True to follow aliases */
pBuf_T filter, /* Search filter */
pTimeStamp_T pTimeFilter, /* Filter on modification time */
nuint32 infoType, /* Names only, or names and attrib */
nbool8 allAttrs, /* True = return all attributes */
pBuf_T attrNames, /* List of attributes to return */
pnstr8 indexSelect, /* Index selection string */
pnstr8 sortKey, /* Attributes to sort on */
nuint32 scalability, /* Require or prefer SKADS server */
nuint32 timeout, /* Timeout in milliseconds */
pnuint32 pIterator /* Returned Iterator Ptr */
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSItrDestroy(nuint32 Iterator);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSItrClone(nuint32 Iterator, pnuint32 pNewIterator);
N_EXTERN_LIBRARY (nbool8)
NWDSItrAtFirst(nuint32 Iterator);
N_EXTERN_LIBRARY (nbool8)
NWDSItrAtEOF(nuint32 Iterator);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSItrGetInfo(nuint32 Iterator, pnbool8 pIsScalable, pnbool8 pIisPositionable);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSItrGetPosition(nuint32 Iterator, pnuint32 pPosition, nuint32 timeout);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSItrSetPosition(nuint32 Iterator, nuint32 position, nuint32 timeout);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSItrSetPositionFromIterator(nuint32 Iterator, nuint32 srcIterator,
nuint32 timeout);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSItrTypeDown(nuint32 Iterator, pnstr8 attrString, pnstr8 value,
nuint32 byteUniFlag, nuint32 timeout);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSItrSkip(nuint32 Iterator, nint32 numToSkip, nuint32 timeout,
pnint32 pNumSkipped);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSItrGetNext(nuint32 Iterator, nuint32 numEntries, nuint32 timeout,
pnint32 pIterationHandle, pBuf_T pData);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSItrGetPrev(nuint32 Iterator, nuint32 numEntries, nuint32 timeout,
pnint32 pIterationHandle, pBuf_T pData);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSItrGetCurrent(nuint32 Iterator, pnint32 pIterationHandle, pBuf_T pData);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSItrCount(nuint32 Iterator, nuint32 timeout, nuint32 maxCount,
nbool8 updatePosition, pnuint32 pCount);
#endif