Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

655 lines
23 KiB

/**************************************************************/
/* Copyright (c) 1995 Intel Corporation. All rights reserved.*/
/**************************************************************/
/* Abstract syntax: mbft */
/* Created: Mon Mar 18 11:56:58 1996 */
/* ASN.1 compiler version: 4.1 */
/* Target operating system: MS-DOS 5.0/Windows 3.1 or later */
/* Target machine type: Intel x86 */
/* C compiler options required: -Zp8 (Microsoft) or equivalent */
/* ASN.1 compiler options specified:
* -noshortennames -prefix -c++ -per
*/
#ifndef OSS_mbft
#define OSS_mbft
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#include "asn1hdr.h"
#define ASNEntity_Reference_PDU 1
#define ASNMBFTPDU_PDU 2
typedef struct ASN_ObjectID_ {
struct ASN_ObjectID_ *next;
unsigned short value;
} *ASN_ObjectID;
typedef struct ASNABSTRACT_SYNTAX {
struct ASN_ObjectID_ *id;
unsigned short Type;
} ASNABSTRACT_SYNTAX;
typedef struct ASN_choice1 {
unsigned short choice;
# define ASNsingle_ASN1_type_chosen 1
# define ASNoctet_aligned_chosen 2
# define ASNarbitrary_chosen 3
union _union {
OpenType ASNsingle_ASN1_type;
struct ASNExternal_octet_aligned {
unsigned int length;
unsigned char *value;
} ASNoctet_aligned;
struct ASNExternal_arbitrary {
unsigned int length; /* number of significant bits */
unsigned char *value;
} ASNarbitrary;
} u;
} ASN_choice1;
typedef struct ASN_External {
unsigned char bit_mask;
# define ASNdirect_reference_present 0x80
# define ASNindirect_reference_present 0x40
struct ASN_ObjectID_ *ASNdirect_reference; /* optional */
int ASNindirect_reference; /* optional */
char *data_value_descriptor; /* NULL for not present */
ASN_choice1 encoding;
} ASN_External;
typedef unsigned short ASNChannelID;
typedef unsigned short ASNDynamicChannelID;
typedef ASNDynamicChannelID ASNUserID;
typedef unsigned short ASNTokenID;
typedef struct ASNObjectID_ {
struct ASNObjectID_ *next;
unsigned long value;
} *ASNObjectID;
typedef struct ASNH221NonStandardIdentifier {
unsigned short length;
unsigned char value[255];
} ASNH221NonStandardIdentifier;
typedef struct ASNKey {
unsigned short choice;
# define ASNobject_chosen 1
# define ASNh221NonStandard_chosen 2
union _union {
struct ASNObjectID_ *ASNobject;
ASNH221NonStandardIdentifier ASNh221NonStandard;
} u;
} ASNKey;
typedef struct ASNNonStandardParameter {
ASNKey key;
struct {
unsigned int length;
unsigned char *value;
} data;
} ASNNonStandardParameter;
typedef struct ASNTextString {
unsigned short length;
unsigned short *value;
} ASNTextString;
typedef unsigned short ASNHandle;
typedef struct ASN_ObjectID_ *ASNDocument_Type_Name;
typedef struct ASNISO_8571_2_Parameters {
unsigned char bit_mask;
# define ASNuniversal_class_number_present 0x80
# define ASNmaximum_string_length_present 0x40
# define ASNstring_significance_present 0x20
int ASNuniversal_class_number; /* optional */
int ASNmaximum_string_length; /* optional */
int ASNstring_significance; /* optional */
# define ASNvariable 0
# define ASNfixed 1
# define ASNnot_significant 2
} ASNISO_8571_2_Parameters;
typedef struct ASNContents_Type_Attribute {
unsigned short choice;
# define ASNdocument_type_chosen 1
union _union {
struct ASN_seq1 {
unsigned char bit_mask;
# define ASNparameter_present 0x80
struct ASN_ObjectID_ *document_type_name;
ASNISO_8571_2_Parameters ASNparameter; /* optional */
} ASNdocument_type;
} u;
} ASNContents_Type_Attribute;
typedef int ASNEntity_Reference;
#define ASNno_categorisation_possible 0
#define ASNinitiating_file_service_user 1
#define ASNinitiating_file_protocol_machine 2
#define ASNservice_supporting_the_file_protocol_machine 3
#define ASNresponding_file_protocol_machine 4
#define ASNresponding_file_service_user 5
typedef struct ASNFilename_Attribute_ {
struct ASNFilename_Attribute_ *next;
char *value;
} *ASNFilename_Attribute;
typedef unsigned char ASNAccess_Request;
#define ASNAccess_Request_read 0x80
#define ASNAccess_Request_insert 0x40
#define ASNAccess_Request_replace 0x20
#define ASNAccess_Request_extend 0x10
#define ASNAccess_Request_erase 0x08
#define ASNread_attribute 0x04
#define ASNchange_attribute 0x02
#define ASNdelete_file 0x01
typedef unsigned char ASNConcurrency_Key;
#define ASNnot_required 0x80
#define ASNshared 0x40
#define ASNexclusive 0x20
#define ASNno_access 0x10
typedef struct ASNConcurrency_Access {
ASNConcurrency_Key read;
ASNConcurrency_Key insert;
ASNConcurrency_Key replace;
ASNConcurrency_Key extend;
ASNConcurrency_Key erase;
ASNConcurrency_Key read_attribute;
ASNConcurrency_Key change_attribute;
ASNConcurrency_Key delete_file;
} ASNConcurrency_Access;
typedef char *ASNUser_Identity;
typedef struct ASNPassword {
unsigned short choice;
# define ASNgraphic_string_chosen 1
# define ASNoctet_string_chosen 2
union _union {
char *ASNgraphic_string;
struct ASN_octet1 {
unsigned int length;
unsigned char *value;
} ASNoctet_string;
} u;
} ASNPassword;
typedef struct ASNAccess_Passwords {
ASNPassword read_password;
ASNPassword insert_password;
ASNPassword replace_password;
ASNPassword extend_password;
ASNPassword erase_password;
ASNPassword read_attribute_password;
ASNPassword change_attribute_password;
ASNPassword delete_password;
} ASNAccess_Passwords;
typedef struct ASNAccess_Control_Element {
unsigned char bit_mask;
# define ASNconcurrency_access_present 0x80
# define ASNpasswords_present 0x40
ASNAccess_Request action_list;
ASNConcurrency_Access ASNconcurrency_access; /* optional */
ASNUser_Identity identity; /* NULL for not present */
ASNAccess_Passwords ASNpasswords; /* optional */
} ASNAccess_Control_Element;
typedef struct ASNAccess_Control_Attribute {
unsigned short choice;
# define ASNsimple_password_chosen 1
# define ASNactual_values_chosen 2
union _union {
struct ASN_octet2 {
unsigned int length;
unsigned char *value;
} ASNsimple_password;
struct ASN_setof1 {
struct ASN_setof1 *next;
ASNAccess_Control_Element value;
} *ASNactual_values;
} u;
} ASNAccess_Control_Attribute;
typedef unsigned char ASNPermitted_Actions_Attribute;
#define ASNPermitted_Actions_Attribute_read 0x80
#define ASNPermitted_Actions_Attribute_insert 0x40
#define ASNPermitted_Actions_Attribute_replace 0x20
#define ASNPermitted_Actions_Attribute_extend 0x10
#define ASNPermitted_Actions_Attribute_erase 0x08
typedef struct ASNPrivate_Use_Attribute {
unsigned char bit_mask;
# define ASNmanufacturer_values_present 0x80
ASN_External ASNmanufacturer_values; /* optional */
} ASNPrivate_Use_Attribute;
typedef unsigned char ASNProtocol_Version;
#define ASNversion_1 0x80
typedef struct ASNFileHeader {
unsigned int bit_mask;
# define ASNprotocol_version_present 0x80000000
# define ASNfilename_present 0x40000000
# define ASNpermitted_actions_present 0x20000000
# define ASNcontents_type_present 0x10000000
# define ASNdate_and_time_of_creation_present 0x08000000
# define ASNdate_and_time_of_last_modification_present 0x04000000
# define ASNdate_and_time_of_last_read_access_present 0x02000000
# define ASNfilesize_present 0x01000000
# define ASNfuture_filesize_present 0x00800000
# define ASNaccess_control_present 0x00400000
# define ASNprivate_use_present 0x00200000
# define ASNstructure_present 0x00100000
# define ASNapplication_reference_present 0x00080000
# define ASNmachine_present 0x00040000
# define ASNoperating_system_present 0x00020000
# define ASNrecipient_present 0x00010000
# define ASNcharacter_set_present 0x00008000
# define ASNcompression_present 0x00004000
# define ASNenvironment_present 0x00002000
# define ASNFileHeader_pathname_present 0x00001000
# define ASNuser_visible_string_present 0x00000800
ASNProtocol_Version ASNprotocol_version; /* default assumed if omitted */
struct ASNFilename_Attribute_ *ASNfilename; /* optional */
ASNPermitted_Actions_Attribute ASNpermitted_actions; /* optional */
ASNContents_Type_Attribute ASNcontents_type; /* optional */
char *storage_account; /* NULL for not present */
GeneralizedTime ASNdate_and_time_of_creation; /* optional */
GeneralizedTime ASNdate_and_time_of_last_modification; /* optional */
GeneralizedTime ASNdate_and_time_of_last_read_access; /* optional */
char *identity_of_creator; /* NULL for not present */
char *identity_of_last_modifier; /* NULL for not present */
char *identity_of_last_reader; /* NULL for not present */
long ASNfilesize; /* optional */
long ASNfuture_filesize; /* optional */
ASNAccess_Control_Attribute ASNaccess_control; /* optional */
char *legal_qualifications; /* NULL for not present */
ASNPrivate_Use_Attribute ASNprivate_use; /* optional */
struct ASN_ObjectID_ *ASNstructure; /* optional */
struct ASN_seqof1 {
struct ASN_seqof1 *next;
char *value;
} *ASNapplication_reference; /* optional */
struct ASN_seqof2 {
struct ASN_seqof2 *next;
char *value;
} *ASNmachine; /* optional */
struct ASN_ObjectID_ *ASNoperating_system; /* optional */
struct ASN_seqof3 {
struct ASN_seqof3 *next;
char *value;
} *ASNrecipient; /* optional */
struct ASN_ObjectID_ *ASNcharacter_set; /* optional */
struct ASN_seqof4 {
struct ASN_seqof4 *next;
char *value;
} *ASNcompression; /* optional */
struct ASN_seqof5 {
struct ASN_seqof5 *next;
char *value;
} *ASNenvironment; /* optional */
struct ASN_seqof6 {
struct ASN_seqof6 *next;
char *value;
} *ASNFileHeader_pathname; /* optional */
struct ASN_seqof7 {
struct ASN_seqof7 *next;
char *value;
} *ASNuser_visible_string; /* optional */
} ASNFileHeader;
typedef struct ASNV42bis_Parameter_List {
unsigned short p1;
unsigned short p2;
} ASNV42bis_Parameter_List;
typedef struct ASNCompressionSpecifier {
unsigned short choice;
# define ASNv42bis_parameters_chosen 1
# define ASNnonstandard_compression_parameters_chosen 2
union _union {
ASNV42bis_Parameter_List ASNv42bis_parameters;
struct ASN_setof2 {
struct ASN_setof2 *next;
ASNNonStandardParameter value;
} *ASNnonstandard_compression_parameters;
} u;
} ASNCompressionSpecifier;
typedef enum ASNMBFTPrivilege {
ASNfile_transmit_privilege = 0,
ASNfile_request_privilege = 1,
ASNcreate_private_privilege = 2,
ASNmedium_priority_privilege = 3,
ASNabort_privilege = 4,
ASNnonstandard_privilege = 5
} ASNMBFTPrivilege;
typedef struct ASNDirectoryEntry {
ossBoolean subdirectory_flag;
ASNFileHeader attributes;
} ASNDirectoryEntry;
typedef enum ASNErrorType {
ASNinformative = 0,
ASNtransient_error = 1,
ASNpermanent_error = 2
} ASNErrorType;
typedef int ASNErrorID;
#define ASNno_reason 0
#define ASNresponder_error 1
#define ASNsystem_shutdown 2
#define ASNbft_management_problem 3
#define ASNbft_management_bad_account 4
#define ASNbft_management_security_not_passed 5
#define ASNdelay_may_be_encountered 6
#define ASNinitiator_error 7
#define ASNsubsequent_error 8
#define ASNtemporal_insufficiency_of_resources 9
#define ASNaccess_request_violates_VFS_security 10
#define ASNaccess_request_violates_local_security 11
#define ASNconflicting_parameter_values 1000
#define ASNunsupported_parameter_values 1001
#define ASNmandatory_parameter_not_set 1002
#define ASNunsupported_parameter 1003
#define ASNduplicated_parameter 1004
#define ASNillegal_parameter_type 1005
#define ASNunsupported_parameter_types 1006
#define ASNbft_protocol_error 1007
#define ASNbft_protocol_error_procedure_error 1008
#define ASNbft_protocol_error_functional_unit_error 1009
#define ASNbft_protocol_error_corruption_error 1010
#define ASNlower_layer_failure 1011
#define ASNtimeout 1013
#define ASNinvalid_filestore_password 2020
#define ASNfilename_not_found 3000
#define ASNinitial_attributes_not_possible 3002
#define ASNnon_existent_file 3004
#define ASNfile_already_exists 3005
#define ASNfile_cannot_be_created 3006
#define ASNfile_busy 3012
#define ASNfile_not_available 3013
#define ASNfilename_truncated 3017
#define ASNinitial_attributes_altered 3018
#define ASNbad_account 3019
#define ASNambiguous_file_specification 3024
#define ASNattribute_non_existent 4000
#define ASNattribute_not_supported 4003
#define ASNbad_attribute_name 4004
#define ASNbad_attribute_value 4005
#define ASNattribute_partially_supported 4006
#define ASNbad_data_element_type 5014
#define ASNoperation_not_available 5015
#define ASNoperation_not_supported 5016
#define ASNoperation_inconsistent 5017
#define ASNbad_write 5026
#define ASNbad_read 5027
#define ASNlocal_failure 5028
#define ASNlocal_failure_filespace_exhausted 5029
#define ASNlocal_failure_data_corrupted 5030
#define ASNlocal_failure_device_failure 5031
#define ASNfuture_filesize_exceeded 5032
#define ASNfuture_filesize_increased 5034
typedef struct ASNFile_OfferPDU {
unsigned char bit_mask;
# define ASNroster_instance_present 0x80
# define ASNfile_transmit_token_present 0x40
# define ASNFile_OfferPDU_file_request_token_present 0x20
# define ASNfile_request_handle_present 0x10
# define ASNmbft_ID_present 0x08
# define ASNFile_OfferPDU_compression_specifier_present 0x04
# define ASNcompressed_filesize_present 0x02
ASNFileHeader file_header;
ASNChannelID data_channel_id;
ASNHandle file_handle;
unsigned short ASNroster_instance; /* optional */
ASNTokenID ASNfile_transmit_token; /* optional */
ASNTokenID ASNFile_OfferPDU_file_request_token; /* optional */
ASNHandle ASNfile_request_handle; /* optional */
ASNUserID ASNmbft_ID; /* optional */
ASNCompressionSpecifier ASNFile_OfferPDU_compression_specifier; /* optional */
int ASNcompressed_filesize; /* optional */
ossBoolean ack_flag;
} ASNFile_OfferPDU;
typedef struct ASNFile_AcceptPDU {
ASNHandle file_handle;
} ASNFile_AcceptPDU;
typedef enum ASN_enum1 {
ASNFile_RejectPDU_reason_unspecified = 0,
ASNfile_exists = 1,
ASNfile_not_required = 2,
ASNinsufficient_resources = 3,
ASNtransfer_limit = 4,
ASNcompression_unsupported = 5,
ASNreason_unable_to_join_channel = 6,
ASNparameter_not_supported = 7
} ASN_enum1;
typedef struct ASNFile_RejectPDU {
ASNHandle file_handle;
ASN_enum1 reason;
} ASNFile_RejectPDU;
typedef struct ASNFile_RequestPDU {
unsigned char bit_mask;
# define ASNFile_RequestPDU_file_request_token_present 0x80
ASNFileHeader file_header;
ASNChannelID data_channel_id;
ASNHandle request_handle;
unsigned short roster_instance;
ASNTokenID file_transmit_token;
ASNTokenID ASNFile_RequestPDU_file_request_token; /* optional */
int data_offset;
} ASNFile_RequestPDU;
typedef enum ASN_enum2 {
ASNFile_DenyPDU_reason_unspecified = 0,
ASNfile_not_present = 1,
ASNinsufficient_privilege = 2,
ASNfile_already_offered = 3,
ASNambiguous = 4,
ASNno_channel = 5
} ASN_enum2;
typedef struct ASNFile_DenyPDU {
ASNHandle request_handle;
ASN_enum2 reason;
} ASNFile_DenyPDU;
typedef enum ASN_enum3 {
ASNreason_unspecified = 0,
ASNbandwidth_required = 1,
ASNtokens_required = 2,
ASNchannels_required = 3,
ASNpriority_required = 4
} ASN_enum3;
typedef struct ASNFile_AbortPDU {
unsigned char bit_mask;
# define ASNdata_channel_id_present 0x80
# define ASNtransmitter_user_id_present 0x40
# define ASNFile_AbortPDU_file_handle_present 0x20
ASN_enum3 reason;
ASNChannelID ASNdata_channel_id; /* optional */
ASNUserID ASNtransmitter_user_id; /* optional */
ASNHandle ASNFile_AbortPDU_file_handle; /* optional */
} ASNFile_AbortPDU;
typedef struct ASNFile_StartPDU {
unsigned char bit_mask;
# define ASNFile_StartPDU_compression_specifier_present 0x80
# define ASNcomp_filesize_present 0x40
# define ASNFile_StartPDU_crc_check_present 0x20
ASNFileHeader file_header;
ASNHandle file_handle;
ossBoolean eof_flag;
ossBoolean crc_flag;
ASNCompressionSpecifier ASNFile_StartPDU_compression_specifier; /* optional */
int ASNcomp_filesize; /* optional */
int data_offset;
struct {
unsigned short length;
unsigned char *value;
} data;
unsigned int ASNFile_StartPDU_crc_check; /* optional */
} ASNFile_StartPDU;
typedef struct ASNFile_DataPDU {
unsigned char bit_mask;
# define ASNFile_DataPDU_crc_check_present 0x80
ASNHandle file_handle;
ossBoolean eof_flag;
ossBoolean abort_flag;
struct {
unsigned short length;
unsigned char *value;
} data;
unsigned int ASNFile_DataPDU_crc_check; /* optional */
} ASNFile_DataPDU;
typedef struct ASNDirectory_RequestPDU {
unsigned char bit_mask;
# define ASNDirectory_RequestPDU_pathname_present 0x80
struct ASN_seqof8 {
struct ASN_seqof8 *next;
char *value;
} *ASNDirectory_RequestPDU_pathname; /* optional */
} ASNDirectory_RequestPDU;
typedef enum ASN_enum4 {
ASNDirectory_ResponsePDU_result_unspecified = 0,
ASNpermission_denied = 1,
ASNfunction_not_supported = 2,
ASNDirectory_ResponsePDU_result_successful = 3
} ASN_enum4;
typedef struct ASNDirectory_ResponsePDU {
unsigned char bit_mask;
# define ASNDirectory_ResponsePDU_pathname_present 0x80
ASN_enum4 result;
struct ASN_seqof9 {
struct ASN_seqof9 *next;
char *value;
} *ASNDirectory_ResponsePDU_pathname; /* optional */
struct ASN_seqof10 {
struct ASN_seqof10 *next;
ASNDirectoryEntry value;
} *directory_list;
} ASNDirectory_ResponsePDU;
typedef struct ASNMBFT_Privilege_RequestPDU {
struct ASN_setof3 {
struct ASN_setof3 *next;
ASNMBFTPrivilege value;
} *mbft_privilege;
} ASNMBFT_Privilege_RequestPDU;
typedef struct ASNMBFT_Privilege_AssignPDU {
struct ASN_setof5 {
struct ASN_setof5 *next;
struct temptag {
ASNUserID mbftID;
struct ASN_setof4 {
struct ASN_setof4 *next;
ASNMBFTPrivilege value;
} *mbft_privilege;
} value;
} *privilege_list;
} ASNMBFT_Privilege_AssignPDU;
typedef struct ASNPrivate_Channel_Join_InvitePDU {
ASNDynamicChannelID control_channel_id;
ASNDynamicChannelID data_channel_id;
ossBoolean mode;
} ASNPrivate_Channel_Join_InvitePDU;
typedef enum ASN_enum5 {
ASNPrivate_Channel_Join_ResponsePDU_result_unspecified = 0,
ASNresult_unable_to_join_channel = 1,
ASNinvitation_rejected = 2,
ASNPrivate_Channel_Join_ResponsePDU_result_successful = 3
} ASN_enum5;
typedef struct ASNPrivate_Channel_Join_ResponsePDU {
ASNDynamicChannelID control_channel_id;
ASN_enum5 result;
} ASNPrivate_Channel_Join_ResponsePDU;
typedef struct ASNFile_ErrorPDU {
unsigned char bit_mask;
# define ASNFile_ErrorPDU_file_handle_present 0x80
# define ASNerror_text_present 0x40
ASNHandle ASNFile_ErrorPDU_file_handle; /* optional */
ASNErrorType error_type;
ASNErrorID error_id;
ASNTextString ASNerror_text; /* optional */
} ASNFile_ErrorPDU;
typedef struct ASNMBFT_NonStandardPDU {
ASNNonStandardParameter data;
} ASNMBFT_NonStandardPDU;
typedef struct ASNMBFTPDU {
unsigned short choice;
# define ASNfile_OfferPDU_chosen 1
# define ASNfile_AcceptPDU_chosen 2
# define ASNfile_RejectPDU_chosen 3
# define ASNfile_RequestPDU_chosen 4
# define ASNfile_DenyPDU_chosen 5
# define ASNfile_ErrorPDU_chosen 6
# define ASNfile_AbortPDU_chosen 7
# define ASNfile_StartPDU_chosen 8
# define ASNfile_DataPDU_chosen 9
# define ASNdirectory_RequestPDU_chosen 10
# define ASNdirectory_ResponsePDU_chosen 11
# define ASNmbft_Privilege_RequestPDU_chosen 12
# define ASNmbft_Privilege_AssignPDU_chosen 13
# define ASNmbft_NonStandardPDU_chosen 14
# define ASNprivate_Channel_Join_InvitePDU_chosen 15
# define ASNprivate_Channel_Join_ResponsePDU_chosen 16
union _union {
ASNFile_OfferPDU ASNfile_OfferPDU;
ASNFile_AcceptPDU ASNfile_AcceptPDU;
ASNFile_RejectPDU ASNfile_RejectPDU;
ASNFile_RequestPDU ASNfile_RequestPDU;
ASNFile_DenyPDU ASNfile_DenyPDU;
ASNFile_ErrorPDU ASNfile_ErrorPDU;
ASNFile_AbortPDU ASNfile_AbortPDU;
ASNFile_StartPDU ASNfile_StartPDU;
ASNFile_DataPDU ASNfile_DataPDU;
ASNDirectory_RequestPDU ASNdirectory_RequestPDU;
ASNDirectory_ResponsePDU ASNdirectory_ResponsePDU;
ASNMBFT_Privilege_RequestPDU ASNmbft_Privilege_RequestPDU;
ASNMBFT_Privilege_AssignPDU ASNmbft_Privilege_AssignPDU;
ASNMBFT_NonStandardPDU ASNmbft_NonStandardPDU;
ASNPrivate_Channel_Join_InvitePDU ASNprivate_Channel_Join_InvitePDU;
ASNPrivate_Channel_Join_ResponsePDU ASNprivate_Channel_Join_ResponsePDU;
} u;
} ASNMBFTPDU;
extern ASNKey ASNt127Identifier;
extern void *mbft; /* encoder-decoder control table */
#ifdef __cplusplus
} /* extern "C" */
#endif /* __cplusplus */
#endif /* OSS_mbft */