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

390 lines
7.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.
*
***********************************************************************/
#if ! defined ( NWDSBUFT_H )
#define NWDSBUFT_H
#include <time.h>
#if ! defined ( NTYPES_H )
#include "ntypes.h"
#endif
#if ! defined ( NWDSTYPE_H )
#include "nwdstype.h"
#endif
#if ! defined ( NWDSDC_H )
#include "nwdsdc.h"
#endif
#if ! defined ( NWDSDEFS_H )
#include "nwdsdefs.h"
#endif
#if ! defined ( NWDSATTR_H )
#include "nwdsattr.h"
#endif
#include "npackon.h"
#define INPUT_BUFFER 0x00000001
typedef struct
{
nuint32 operation;
nuint32 flags;
nuint32 maxLen;
nuint32 curLen;
pnuint8 lastCount;
pnuint8 curPos;
pnuint8 data;
} Buf_T, N_FAR *pBuf_T, N_FAR * N_FAR *ppBuf_T;
typedef struct
{
nuint32 objectFlags;
nuint32 subordinateCount;
time_t modificationTime;
char baseClass[MAX_SCHEMA_NAME_BYTES + 2];
} Object_Info_T, N_FAR *pObject_Info_T;
typedef struct
{
nuint32 length;
nuint8 data[MAX_ASN1_NAME];
} Asn1ID_T, N_FAR *pAsn1ID_T;
typedef struct
{
nuint32 attrFlags;
nint32 attrSyntaxID;
nint32 attrLower;
nint32 attrUpper;
Asn1ID_T asn1ID;
} Attr_Info_T, N_FAR *pAttr_Info_T;
typedef struct
{
nuint32 classFlags;
Asn1ID_T asn1ID;
} Class_Info_T, N_FAR *pClass_Info_T;
typedef struct
{
nuint32 ID;
char defStr[MAX_SCHEMA_NAME_BYTES + 2];
nflag16 flags;
} Syntax_Info_T, N_FAR *pSyntax_Info_T;
#define NWDSPutClassName(c, b, n) NWDSPutClassItem(c, b, n)
#define NWDSPutSyntaxName(c, b, n) NWDSPutClassItem(c, b, n)
#ifdef __cplusplus
extern "C" {
#endif
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSAllocBuf
(
size_t size,
ppBuf_T buf
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSComputeAttrValSize
(
NWDSContextHandle context,
pBuf_T buf,
nuint32 syntaxID,
pnuint32 attrValSize
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSFreeBuf
(
pBuf_T buf
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetAttrCount
(
NWDSContextHandle context,
pBuf_T buf,
pnuint32 attrCount
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetAttrDef
(
NWDSContextHandle context,
pBuf_T buf,
pnstr8 attrName,
pAttr_Info_T attrInfo
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetAttrName
(
NWDSContextHandle context,
pBuf_T buf,
pnstr8 attrName,
pnuint32 attrValCount,
pnuint32 syntaxID
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetAttrVal
(
NWDSContextHandle context,
pBuf_T buf,
nuint32 syntaxID,
nptr attrVal
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetAttrValModTime
(
NWDSContextHandle context,
pBuf_T buf,
pTimeStamp_T timeStamp
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetAttrValFlags
(
NWDSContextHandle context,
pBuf_T buf,
pnuint32 valueFlags
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetClassDef
(
NWDSContextHandle context,
pBuf_T buf,
pnstr8 className,
pClass_Info_T classInfo
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetClassDefCount
(
NWDSContextHandle context,
pBuf_T buf,
pnuint32 classDefCount
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetClassItem
(
NWDSContextHandle context,
pBuf_T buf,
pnstr8 itemName
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetClassItemCount
(
NWDSContextHandle context,
pBuf_T buf,
pnuint32 itemCount
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetObjectCount
(
NWDSContextHandle context,
pBuf_T buf,
pnuint32 objectCount
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetObjectName
(
NWDSContextHandle context,
pBuf_T buf,
pnstr8 objectName,
pnuint32 attrCount,
pObject_Info_T objectInfo
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetObjectNameAndInfo
(
NWDSContextHandle context,
pBuf_T buf,
pnstr8 objectName,
pnuint32 attrCount,
ppnstr8 objectInfo
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetDSIInfo
(
NWDSContextHandle context,
nptr buf,
nuint32 bufLen,
nuint32 infoFlag,
nptr data
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetPartitionInfo
(
NWDSContextHandle context,
pBuf_T buf,
pnstr8 partitionName,
pnuint32 replicaType
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetReplicaReferenceRootID
(
NWDSContextHandle context,
pBuf_T buf,
pnuint32 replicaRootID
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetServerName
(
NWDSContextHandle context,
pBuf_T buf,
pnstr8 serverName,
pnuint32 partitionCount
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetPartitionExtInfoPtr
(
NWDSContextHandle context,
pBuf_T buf,
ppnstr8 infoPtr,
ppnstr8 infoPtrEnd
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetPartitionExtInfo
(
NWDSContextHandle context,
pnstr8 infoPtr,
pnstr8 limit,
nflag32 infoFlag,
pnuint32 length,
nptr data
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetSyntaxCount
(
NWDSContextHandle context,
pBuf_T buf,
pnuint32 syntaxCount
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSGetSyntaxDef
(
NWDSContextHandle context,
pBuf_T buf,
pnstr8 syntaxName,
pSyntax_Info_T syntaxDef
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSInitBuf
(
NWDSContextHandle context,
nuint32 operation,
pBuf_T buf
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSPutAttrName
(
NWDSContextHandle context,
pBuf_T buf,
pnstr8 attrName
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSPutAttrVal
(
NWDSContextHandle context,
pBuf_T buf,
nuint32 syntaxID,
nptr attrVal
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSPutAttrNameAndVal
(
NWDSContextHandle context,
pBuf_T buf,
pnstr8 attrName,
nuint32 syntaxID,
nptr attrVal
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSPutChange
(
NWDSContextHandle context,
pBuf_T buf,
nuint32 changeType,
pnstr8 attrName
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSPutChangeAndVal
(
NWDSContextHandle context,
pBuf_T buf,
nuint32 changeType,
pnstr8 attrName,
nuint32 syntaxID,
nptr attrVal
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSPutClassItem
(
NWDSContextHandle context,
pBuf_T buf,
pnstr8 itemName
);
N_EXTERN_LIBRARY (NWDSCCODE)
NWDSBeginClassItem
(
NWDSContextHandle context,
pBuf_T buf
);
#ifdef __cplusplus
}
#endif
#include "npackoff.h"
#endif /* NWDSBUFT_H */