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

406 lines
9.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 ( NWBINDRY_H )
#define NWBINDRY_H
#if ! defined ( NWCALDEF_H )
#include "nwcaldef.h"
#endif
#if ! defined ( NTYPES_H )
#include "ntypes.h"
#endif
#if ! defined ( NUNICODE_H )
#include "nunicode.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* Bindery object types (in HIGH-LOW order) */
#define OT_WILD 0xFFFF
#define OT_UNKNOWN 0x0000
#define OT_USER 0x0100
#define OT_USER_GROUP 0x0200
#define OT_PRINT_QUEUE 0x0300
#define OT_FILE_SERVER 0x0400
#define OT_JOB_SERVER 0x0500
#define OT_GATEWAY 0x0600
#define OT_PRINT_SERVER 0x0700
#define OT_ARCHIVE_QUEUE 0x0800
#define OT_ARCHIVE_SERVER 0x0900
#define OT_JOB_QUEUE 0x0A00
#define OT_ADMINISTRATION 0x0B00
#define OT_NAS_SNA_GATEWAY 0x2100
#define OT_REMOTE_BRIDGE_SERVER 0x2600
#define OT_TCPIP_GATEWAY 0x2700
#define OT_TREE_NAME 0x7802
/* Extended bindery object types */
#define OT_TIME_SYNCHRONIZATION_SERVER 0x2D00
#define OT_ARCHIVE_SERVER_DYNAMIC_SAP 0x2E00
#define OT_ADVERTISING_PRINT_SERVER 0x4700
#define OT_BTRIEVE_VAP 0x5000
#define OT_PRINT_QUEUE_USER 0x5300
/* Bindery object and property flags */
#define BF_STATIC 0x00
#define BF_DYNAMIC 0x01
#define BF_ITEM 0x00
#define BF_SET 0x02
/********* Bindery object and property security access levels **********/
#define BS_ANY_READ 0x00 /* Readable by anyone */
#define BS_LOGGED_READ 0x01 /* Must be logged in to read */
#define BS_OBJECT_READ 0x02 /* Readable by same object or super */
#define BS_SUPER_READ 0x03 /* Readable by supervisor only */
#define BS_BINDERY_READ 0x04 /* Readable only by the bindery */
#define BS_ANY_WRITE 0x00 /* Writeable by anyone */
#define BS_LOGGED_WRITE 0x10 /* Must be logged in to write */
#define BS_OBJECT_WRITE 0x20 /* Writeable by same object or super */
#define BS_SUPER_WRITE 0x30 /* Writeable only by the supervisor */
#define BS_BINDERY_WRITE 0x40 /* Writeable by the bindery only */
N_EXTERN_LIBRARY( NWCCODE )
NWVerifyObjectPassword
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * objName,
nuint16 objType,
const nstr8 N_FAR * password
);
N_EXTERN_LIBRARY( NWCCODE )
NWDisallowObjectPassword
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * objName,
nuint16 objType,
const nstr8 N_FAR * disallowedPassword
);
N_EXTERN_LIBRARY( NWCCODE )
NWChangeObjectPassword
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * objName,
nuint16 objType,
const nstr8 N_FAR * oldPassword,
const nstr8 N_FAR * newPassword
);
N_EXTERN_LIBRARY( NWCCODE )
NWReadPropertyValue
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * objName,
nuint16 objType,
const nstr8 N_FAR * propertyName,
nuint8 segmentNum,
pnuint8 segmentData,
pnuint8 moreSegments,
pnuint8 flags
);
N_EXTERN_LIBRARY( NWCCODE )
NWWritePropertyValue
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * objName,
nuint16 objType,
const nstr8 N_FAR * propertyName,
nuint8 segmentNum,
const nuint8 N_FAR * segmentData,
nuint8 moreSegments
);
N_EXTERN_LIBRARY( NWCCODE )
NWAddObjectToSet
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * objName,
nuint16 objType,
const nstr8 N_FAR * propertyName,
const nstr8 N_FAR * memberName,
nuint16 memberType
);
N_EXTERN_LIBRARY( NWCCODE )
NWDeleteObjectFromSet
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * objName,
nuint16 objType,
pnstr8 propertyName,
pnstr8 memberName,
nuint16 memberType
);
N_EXTERN_LIBRARY( NWCCODE )
NWIsObjectInSet
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * objName,
nuint16 objType,
const nstr8 N_FAR * propertyName,
const nstr8 N_FAR * memberName,
nuint16 memberType
);
N_EXTERN_LIBRARY( NWCCODE )
NWScanProperty
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * objName,
nuint16 objType,
pnstr8 searchPropertyName,
pnuint32 iterHandle,
pnstr8 propertyName,
pnuint8 propertyFlags,
pnuint8 propertySecurity,
pnuint8 valueAvailable,
pnuint8 moreFlag
);
N_EXTERN_LIBRARY( NWCCODE )
NWGetObjectID
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * objName,
nuint16 objType,
pnuint32 objID
);
N_EXTERN_LIBRARY( NWCCODE )
NWGetObjectDiskSpaceLeft
(
NWCONN_HANDLE conn,
nuint32 objID,
pnuint32 systemElapsedTime,
pnuint32 unusedDiskBlocks,
pnuint8 restrictionEnforced
);
N_EXTERN_LIBRARY( NWCCODE )
NWGetObjectName
(
NWCONN_HANDLE conn,
nuint32 objID,
pnstr8 objName,
pnuint16 objType
);
N_EXTERN_LIBRARY( NWCCODE )
NWScanObject
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * searchName,
nuint16 searchType,
pnuint32 objID,
pnstr8 objName,
pnuint16 objType,
pnuint8 hasPropertiesFlag,
pnuint8 objFlags,
pnuint8 objSecurity
);
N_EXTERN_LIBRARY( NWCCODE )
NWGetBinderyAccessLevel
(
NWCONN_HANDLE conn,
pnuint8 accessLevel,
pnuint32 objID
);
N_EXTERN_LIBRARY( NWCCODE )
NWCreateProperty
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * objName,
nuint16 objType,
const nstr8 N_FAR * propertyName,
nuint8 propertyFlags,
nuint8 propertySecurity
);
N_EXTERN_LIBRARY( NWCCODE )
NWDeleteProperty
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * objName,
nuint16 objType,
const nstr8 N_FAR * propertyName
);
N_EXTERN_LIBRARY( NWCCODE )
NWChangePropertySecurity
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * objName,
nuint16 objType,
const nstr8 N_FAR * propertyName,
nuint8 newPropertySecurity
);
N_EXTERN_LIBRARY( NWCCODE )
NWCreateObject
(
NWCONN_HANDLE conn,
pnstr8 objName,
nuint16 objType,
nuint8 objFlags,
nuint8 objSecurity
);
N_EXTERN_LIBRARY( NWCCODE )
NWDeleteObject
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * objName,
nuint16 objType
);
N_EXTERN_LIBRARY( NWCCODE )
NWRenameObject
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * oldObjName,
const nstr8 N_FAR * newObjName,
nuint16 objType
);
N_EXTERN_LIBRARY( NWCCODE )
NWChangeObjectSecurity
(
NWCONN_HANDLE conn,
const nstr8 N_FAR * objName,
nuint16 objType,
nuint8 newObjSecurity
);
N_EXTERN_LIBRARY( NWCCODE )
NWOpenBindery
(
NWCONN_HANDLE conn
);
N_EXTERN_LIBRARY( NWCCODE )
NWCloseBindery
(
NWCONN_HANDLE conn
);
N_EXTERN_LIBRARY( NWCCODE )
NWScanObjectTrusteePaths
(
NWCONN_HANDLE conn,
nuint32 objID,
nuint16 volNum,
pnuint16 iterHandle,
pnuint8 accessRights,
pnstr8 dirPath
);
N_EXTERN_LIBRARY( NWCCODE )
NWGetObjectEffectiveRights
(
NWCONN_HANDLE conn,
nuint32 objID,
NWDIR_HANDLE dirHandle,
const nstr8 N_FAR * path,
pnuint16 rightsMask
);
N_EXTERN_LIBRARY( NWCCODE )
NWGetObjectEffectiveRightsExt
(
NWCONN_HANDLE conn,
nuint32 objID,
NWDIR_HANDLE dirHandle,
const nstr8 N_FAR * path,
nuint8 buNameSpace,
pnuint16 rightsMask
);
N_EXTERN_LIBRARY( NWCCODE )
NWGetObjectEffectiveRights2
(
NWCONN_HANDLE conn,
nuint32 objID,
NWDIR_HANDLE dirHandle,
const nstr8 N_FAR * path,
pnuint16 rightsMask
);
N_EXTERN_LIBRARY( NWCCODE )
NWGetObjectNamesBeginA
(
nuint32 luObjectType,
pnuint32 pluHandle
);
N_EXTERN_LIBRARY( NWCCODE )
NWGetObjectNamesNextA
(
nuint32 luHandle,
pnuint32 pluLenBuffer,
pnstr8 strBuffer
);
N_EXTERN_LIBRARY( NWCCODE )
NWGetObjectNamesEndA
(
nuint32 luHandle
);
N_EXTERN_LIBRARY( NWCCODE )
NWGetObjectNamesBeginW
(
nuint32 luObjectType,
pnuint32 pluHandle
);
N_EXTERN_LIBRARY( NWCCODE )
NWGetObjectNamesNextW
(
nuint32 luHandle,
pnuint32 pluLenBuffer,
punicode strBuffer
);
N_EXTERN_LIBRARY( NWCCODE )
NWGetObjectNamesEndW
(
nuint32 luHandle
);
#ifdef __cplusplus
}
#endif
#endif