CASA/LoginCapture/windows/external/xplatapi/include/nwclxcon.h
2005-10-11 19:51:00 +00:00

496 lines
14 KiB
C

/****************************************************************************
%name: nwclxcon.h %
%version: 1 %
%date_modified: Mon Aug 08 13:07:21 2005 %
$Copyright:
Copyright (c) 1989-1995 Novell, Inc. All Rights Reserved.
THIS WORK IS SUBJECT TO U.S. AND INTERNATIONAL COPYRIGHT LAWS AND
TREATIES. NO PART OF THIS WORK MAY BE USED, PRACTICED, PERFORMED
COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED, ABRIDGED, CONDENSED,
EXPANDED, COLLECTED, COMPILED, LINKED, RECAST, TRANSFORMED OR ADAPTED
WITHOUT THE PRIOR WRITTEN CONSENT OF NOVELL, INC. ANY USE OR EXPLOITATION
OF THIS WORK WITHOUT AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO
CRIMINAL AND CIVIL LIABILITY.$
***************************************************************************/
#if ! defined ( NWCLXCON_H )
#define NWCLXCON_H
#if ! defined ( NTYPES_H )
#include "ntypes.h"
#endif
#if ! defined ( NWAPIDEF_H )
#include "nwapidef.h"
#endif
#if ! defined ( NWCALDEF_H ) /* include nwcaldef.h for connection handle */
#include "nwcaldef.h"
#endif
#include "npackon.h"
/* Authentication States */
#define NWCC_AUTHENT_STATE_NONE 0x0000
#define NWCC_AUTHENT_STATE_BIND 0x0001
#define NWCC_AUTHENT_STATE_NDS 0x0002
/* Broadcast States */
#define NWCC_BCAST_PERMIT_ALL 0x0000
#define NWCC_BCAST_PERMIT_SYSTEM 0x0001
#define NWCC_BCAST_PERMIT_NONE 0x0002
#define NWCC_BCAST_PERMIT_POLL 0x0003 /* DOS Windows and OS/2 only */
/* NDS States */
#define NWCC_NDS_NOT_CAPABLE 0x0000
#define NWCC_NDS_CAPABLE 0x0001
/* License States */
#define NWCC_NOT_LICENSED 0x0000
#define NWCC_CONNECTION_LICENSED 0x0001
#define NWCC_HANDLE_LICENSED 0x0002
/* Name Format types */
#define NWCC_NAME_FORMAT_NDS 0x0001 /* Unicode full dot format name */
#define NWCC_NAME_FORMAT_BIND 0x0002
#define NWCC_NAME_FORMAT_NDS_TREE 0x0008
#define NWCC_NAME_FORMAT_WILD 0x8000
/* Transport types */
#define NWCC_TRAN_TYPE_IPX 0x00000001
#define NWCC_TRAN_TYPE_DDP 0x00000003
#define NWCC_TRAN_TYPE_ASP 0x00000004
#define NWCC_TRAN_TYPE_UDP 0x00000008
#define NWCC_TRAN_TYPE_TCP 0x00000009
#define NWCC_TRAN_TYPE_UDP6 0x0000000A
#define NWCC_TRAN_TYPE_TCP6 0x0000000B
#define NWCC_TRAN_TYPE_WILD 0x00008000
/* Open States */
#define NWCC_OPEN_LICENSED 0x0001
#define NWCC_OPEN_UNLICENSED 0x0002
#define NWCC_OPEN_PRIVATE 0x0004
#define NWCC_OPEN_PUBLIC 0x0008
#define NWCC_OPEN_EXISTING_HANDLE 0x0010
#define NWCC_OPEN_NEAREST 0x0100
#define NWCC_OPEN_IGNORE_CACHE 0x0200
/* Scan connection information flags (nuint value) */
#define NWCC_MATCH_NOT_EQUALS 0x0000
#define NWCC_MATCH_EQUALS 0x0001
#define NWCC_RETURN_PUBLIC 0x0002
#define NWCC_RETURN_PRIVATE 0x0004
#define NWCC_RETURN_LICENSED 0x0008
#define NWCC_RETURN_UNLICENSED 0x0010
/* Reserved Value */
#define NWCC_RESERVED 0x0000
/* Values used with Security Flags */
/* NOTE:
Two previously defined security flags have been redefined in order to be
compliant with the ANSI standard maximum length of 31. Here is a list showing
what the #define was previously, and what it has been redefined to be.
PREVIOUSLY CURRENTLY
NWCC_SECURITY_SIGNING_NOT_IN_USE NWCC_SECUR_SIGNING_NOT_IN_USE
NWCC_SECURITY_LEVEL_SIGN_HEADERS NWCC_SECUR_LEVEL_SIGN_HEADERS
*/
#define NWCC_SECURITY_SIGNING_NOT_IN_USE 0x00000000
#define NWCC_SECURITY_SIGNING_IN_USE 0x00000001
#define NWCC_SECURITY_LEVEL_CHECKSUM 0x00000100
#define NWCC_SECURITY_LEVEL_SIGN_HEADERS 0x00000200
#define NWCC_SECURITY_LEVEL_SIGN_ALL 0x00000400
#define NWCC_SECURITY_LEVEL_ENCRYPT 0x00000800
/* Feature Codes */
#define NWCC_FEAT_PRIV_CONN 0x0001
#define NWCC_FEAT_REQ_AUTH 0x0002
#define NWCC_FEAT_SECURITY 0x0003
#define NWCC_FEAT_NDS 0x0004
#define NWCC_FEAT_NDS_MTREE 0x0005
#define NWCC_FEAT_PRN_CAPTURE 0x0006
typedef struct tagNWCCTranAddr
{
nuint32 type;
nuint32 len;
pnuint8 buffer;
} NWCCTranAddr, N_FAR *pNWCCTranAddr;
typedef struct tagNWCCVersion
{
nuint major;
nuint minor;
nuint revision;
}NWCCVersion, N_FAR *pNWCCVersion;
/* Info Types */
#define NWCC_INFO_NONE 0
#define NWCC_INFO_AUTHENT_STATE 1
#define NWCC_INFO_BCAST_STATE 2
#define NWCC_INFO_CONN_REF 3
#define NWCC_INFO_TREE_NAME 4
#define NWCC_INFO_CONN_NUMBER 5
#define NWCC_INFO_USER_ID 6
#define NWCC_INFO_SERVER_NAME 7
#define NWCC_INFO_NDS_STATE 8
#define NWCC_INFO_MAX_PACKET_SIZE 9
#define NWCC_INFO_LICENSE_STATE 10
#define NWCC_INFO_DISTANCE 11
#define NWCC_INFO_SERVER_VERSION 12
#define NWCC_INFO_TRAN_ADDR 13 /* Version 2 */
#define NWCC_INFO_IDENTITY_HANDLE 14 /* Version 3 */
#define NWCC_INFO_RETURN_ALL 0xFFFF
/* Current Info Version */
#define NWCC_INFO_VERSION_1 0x0001
#define NWCC_INFO_VERSION_2 0x0002
#define NWCC_INFO_VERSION_3 0x0003
/* Should use above definitions instead of this one */
#define NWCC_INFO_VERSION NWCC_INFO_VERSION_1
typedef struct tagNWCCConnInfo
{
nuint authenticationState;
nuint broadcastState;
nuint32 connRef;
nstr treeName[NW_MAX_TREE_NAME_LEN];
nuint connNum;
nuint32 userID;
nstr serverName[NW_MAX_SERVER_NAME_LEN];
nuint NDSState;
nuint maxPacketSize;
nuint licenseState;
nuint distance;
NWCCVersion serverVersion;
#ifdef NWCC_INFO_VERSION_2
pNWCCTranAddr tranAddr;
#endif
#ifdef NWCC_INFO_VERSION_3
nuint32 identityHandle;
#endif
}NWCCConnInfo, N_FAR *pNWCCConnInfo;
typedef struct tagNWCCFrag
{
nptr address;
nuint length;
}NWCCFrag, N_FAR *pNWCCFrag;
#ifdef __cplusplus
extern "C" {
#endif
N_EXTERN_LIBRARY( NWRCODE )
NWCLXInit
(
nptr reserved1,
nptr reserved2
);
N_EXTERN_LIBRARY( NWRCODE )
NWCLXTerm
(
nptr reserved
);
N_EXTERN_LIBRARY( void )
NWCCGetCLXVersion
(
pnuint8 majorVersion,
pnuint8 minorVersion,
pnuint8 revisionLevel,
pnuint8 betaReleaseLevel
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCOpenConnByName
(
NWCONN_HANDLE startConnHandle, /* in */
const nstr8 N_FAR * name, /* in */
nuint nameFormat, /* in */
nuint openState, /* in */
nuint tranType, /* in * use NWCC_RESERVED */
pNWCONN_HANDLE pConnHandle /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCOpenConnByAddr
(
const NWCCTranAddr N_FAR * tranAddr, /* in */
nuint openState, /* in */
nuint reserved, /* in * use NWCC_RESERVED */
pNWCONN_HANDLE pConnHandle /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCOpenConnByRef
(
nuint32 connRef, /* in */
nuint openState, /* in */
nuint reserved, /* in * use NWCC_RESERVED */
pNWCONN_HANDLE pConnHandle /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCCloseConn
(
NWCONN_HANDLE connHandle /* in */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCSysCloseConnRef
(
nuint32 connRef /* in */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCMakeConnPermanent
(
NWCONN_HANDLE connHandle /* in */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCLicenseConn
(
NWCONN_HANDLE connHandle /* in */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCUnlicenseConn
(
NWCONN_HANDLE connHandle /* in */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCGetConnRef
(
NWCONN_HANDLE connHandle, /* in */
pnuint32 connRef /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCGetPrefServerName
(
nuint len, /* in */
pnstr prefServer /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCSetPrefServerName
(
const nstr N_FAR * prefServer /* in */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCGetPrimConnRef
(
pnuint32 connRef /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCSetPrimConn
(
NWCONN_HANDLE connHandle /* in */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCScanConnRefs
(
pnuint32 scanIterator, /* in/out : initialize to 0 */
pnuint32 connRef /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCGetConnInfo
(
NWCONN_HANDLE connHandle, /* in */
nuint infoType, /* in */
nuint len, /* in */
nptr buffer /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCGetConnRefInfo
(
nuint32 connRef, /* in */
nuint infoType, /* in */
nuint len, /* in */
nptr buffer /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCGetAllConnInfo
(
NWCONN_HANDLE connHandle, /* in */
/* connInfoVersion should always be set to NWCC_INFO_VERSION
or NWCC_INFO_VERSION_n */
nuint connInfoVersion, /* in */
pNWCCConnInfo connInfoBuffer /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCGetAllConnRefInfo
(
nuint32 connRef, /* in */
/* connInfoVersion should always be set to NWCC_INFO_VERSION
or NWCC_INFO_VERSION_n */
nuint connInfoVersion, /* in */
pNWCCConnInfo connInfoBuffer /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCScanConnInfo
(
pnuint32 scanIterator, /* in */
nuint scanInfoLevel, /* in */
const void N_FAR * scanConnInfo, /* in */
nuint scanFlags, /* in */
/* connInfoVersion should always be set to NWCC_INFO_VERSION
or NWCC_INFO_VERSION_n */
nuint connInfoVersion, /* in */
nuint returnInfoLevel, /* in */
nptr returnConnInfo, /* out */
pnuint32 connReference /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCGetConnAddressLength
(
NWCONN_HANDLE connHandle, /* in */
pnuint32 addrLen /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCGetConnRefAddressLength
(
nuint32 connRef, /* in */
pnuint32 addrLen /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCGetConnAddress
(
NWCONN_HANDLE connHandle, /* in */
nuint32 bufferLen, /* in */
pNWCCTranAddr tranAddr /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCGetConnRefAddress
(
nuint32 connRef, /* in */
nuint32 bufferLen, /* in */
pNWCCTranAddr tranAddr /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCOpenConnByPref
(
nuint tranType, /* in * NWCC_TRAN_TYPE_IPX */
nuint openState, /* in */
nuint reserved, /* in * use NWCC_RESERVED */
pNWCONN_HANDLE pConnHandle /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCQueryFeature
(
nuint featureCode /* in */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCGetNumConns
(
pnuint maxConns, /* out */
pnuint publicConns, /* out */
pnuint myPrivateConns /* out */
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCGetSecurityFlags
(
pnuint32 enabSecurityFlags,
pnuint32 prefSecurityFlags,
pnuint32 reqSecurityFlags
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCSetSecurityFlags
(
nuint32 prefSecurityFlags,
nuint32 reqSecurityFlags
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCRenegotiateSecurityLevel
(
NWCONN_HANDLE connHandle,
nuint32 securityFlags
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCResetRequester
(
pnuint32 keepConnRef,
nuint connFlags,
pnstr firstLocalAlias
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCRequest
(
NWCONN_HANDLE connHandle,
nuint function,
nuint numReqFrags,
const NWCCFrag N_FAR * reqFrags,
nuint numReplyFrags,
pNWCCFrag replyFrags,
pnuint actualReplyLen
);
N_EXTERN_LIBRARY( NWRCODE )
NWCCFragmentRequest
(
NWCONN_HANDLE connHandle,
nuint function,
nuint verb,
nuint reserved,
nuint numReqFrags,
const NWCCFrag N_FAR * reqFrags,
nuint numReplyFrags,
pNWCCFrag replyFrags,
pnuint actualReplyLen
);
/* The following functions are NLM CLIB specific and not supported in the
* NLM LibC x-plat libraries. The LibC stddef.h file defines
* __NOVELL_LIBC__
*/
#include <stddef.h>
#if !defined(__NOVELL_LIBC__)
N_EXTERN_LIBRARY( NWRCODE )
NWCCSetCurrentConnection
(
NWCONN_HANDLE connHandle
);
#endif
#ifdef __cplusplus
}
#endif
#include "npackoff.h"
#endif /* NWCLXCON_INC */