/* * * (c) Copyright 1990 OPEN SOFTWARE FOUNDATION, INC. * (c) Copyright 1990 HEWLETT-PACKARD COMPANY * (c) Copyright 1990 DIGITAL EQUIPMENT CORPORATION * To anyone who acknowledges that this file is provided "AS IS" * without any express or implied warranty: * permission to use, copy, modify, and distribute this * file for any purpose is hereby granted without fee, provided that * the above copyright notices and this notice appears in all source * code copies, and that none of the names of Open Software * Foundation, Inc., Hewlett-Packard Company, or Digital Equipment * Corporation be used in advertising or publicity pertaining to * distribution of the software without specific, written prior * permission. Neither Open Software Foundation, Inc., Hewlett- * Packard Company, nor Digital Equipment Corporation makes any * representations about the suitability of this software for any * purpose. * */ /* */ /* ** ** NAME: ** ** nbase.idl ** ** FACILITY: ** ** Network Computing Architecture (NCA) ** ** ABSTRACT: ** ** Definitions of NCA architecturally defined types and constants. ** ** */ [pointer_default(ptr)] interface nbase { /* * Type definitions for specific size integers. */ typedef unsigned small unsigned8; /* positive 8 bit integer */ typedef unsigned short unsigned16; /* positive 16 bit integer */ typedef unsigned long unsigned32; /* positive 32 bit integer */ typedef small signed8; /* signed 8 bit integer */ typedef short signed16; /* signed 16 bit integer */ typedef long signed32; /* signed 32 bit integer */ /* * Type definition for 32-bit wide booleans. */ typedef unsigned32 boolean32; /* * Canonical types for expressing procedure return status. */ typedef unsigned long error_status_t; const long error_status_ok = 0; cpp_quote("/* Horrible hack for Darwin */") cpp_quote("#ifdef __APPLE__") cpp_quote("#include ") cpp_quote("#define uuid_t dce_uuid_t") cpp_quote("#endif") /* * Universal Unique Identifier (UUID) types. */ typedef struct { unsigned32 time_low; unsigned16 time_mid; unsigned16 time_hi_and_version; unsigned8 clock_seq_hi_and_reserved; unsigned8 clock_seq_low; byte node[6]; } uuid_t, *uuid_p_t; /* * Old UUID type. */ typedef [v1_struct] struct { unsigned long time_high; unsigned short time_low; unsigned short reserved; byte family; byte host[7]; } uuid_old_t; /* * Protocol Tower. The network representation of network addressing information * (e.g., RPC bindings). */ typedef struct { [range(0,2000)] unsigned32 tower_length; [size_is(tower_length)] byte tower_octet_string[]; } twr_t, *twr_p_t; /* * NDR format flag type definition and values. */ const long ndr_c_int_big_endian = 0; const long ndr_c_int_little_endian = 1; const long ndr_c_float_ieee = 0; const long ndr_c_float_vax = 1; const long ndr_c_float_cray = 2; const long ndr_c_float_ibm = 3; const long ndr_c_char_ascii = 0; const long ndr_c_char_ebcdic = 1; typedef struct { unsigned8 int_rep; unsigned8 char_rep; unsigned8 float_rep; byte reserved; } ndr_format_t, *ndr_format_p_t; /* * Network representation of a NIDL context handle. */ typedef struct ndr_context_handle { unsigned32 context_handle_attributes; uuid_t context_handle_uuid; } ndr_context_handle; /* * International character types. */ typedef byte ISO_LATIN_1; typedef struct { byte row; byte column; } ISO_MULTI_LINGUAL; typedef struct { byte group; byte plane; byte row; byte column; } ISO_UCS; /* * Authentication protocol IDs. These are architectural values that * are carried in RPC protocol messages. */ const long dce_c_rpc_authn_protocol_none = 0; /* No authentication */ const long dce_c_rpc_authn_protocol_krb5 = 1; /* Kerberos v5 authentication */ const long dce_c_rpc_authn_protocol_dummy = 2; /* Non-crypto authentication */ const long dce_c_rpc_authn_protocol_dssa = 3; /* DEC DSSA authentication */ const long dce_c_rpc_authn_protocol_gss_negotiate = 9; /* GSS-API, SPNEGO mech */ const long dce_c_rpc_authn_protocol_winnt = 10; /* NTLMSSP authentication */ const long dce_c_rpc_authn_protocol_gss_tls = 14; /* SSL/TLS */ const long dce_c_rpc_authn_protocol_gss_mskrb = 16; /* GSS-API, Kerberos mech */ const long dce_c_rpc_authn_protocol_msn = 17; /* MSN proprietary */ const long dce_c_rpc_authn_protocol_dpa = 18; /* DPA proprietary */ const long dce_c_rpc_authn_protocol_netlogon = 68; /* Netlogon secure channel */ const long dce_c_rpc_authn_protocol_schannel = 68; /* Netlogon secure channel */ typedef unsigned8 dce_rpc_authn_protocol_id_t; }