/* * Please do not edit this file. * It was generated using ndrgen. */ #include #include #include extern struct ndr_typeinfo ndt__char; extern struct ndr_typeinfo ndt_s_char; extern struct ndr_typeinfo ndt__uchar; extern struct ndr_typeinfo ndt_s_uchar; extern struct ndr_typeinfo ndt__wchar; extern struct ndr_typeinfo ndt_s_wchar; extern struct ndr_typeinfo ndt__short; extern struct ndr_typeinfo ndt_s_short; extern struct ndr_typeinfo ndt__ushort; extern struct ndr_typeinfo ndt_s_ushort; extern struct ndr_typeinfo ndt__long; extern struct ndr_typeinfo ndt_s_long; extern struct ndr_typeinfo ndt__ulong; extern struct ndr_typeinfo ndt_s_ulong; int ndr__netr_sid (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_sid = { 1, /* NDR version */ 3, /* alignment */ NDR_F_CONFORMANT|NDR_F_STRUCT, /* flags */ ndr__netr_sid, /* ndr_func */ 8, /* pdu_size_fixed_part */ 4, /* pdu_size_variable_part */ 8, /* c_size_fixed_part */ 4, /* c_size_variable_part */ }; /* * */ int ndr__netr_sid (struct ndr_reference *encl_ref) { struct netr_sid *val = (struct netr_sid *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_uchar, Revision, 0UL); NDR_MEMBER (_uchar, SubAuthCount, 1UL); /* do all constructed elements w/o pointers */ NDR_MEMBER_ARR_WITH_DIMENSION (_uchar, Authority, 2UL, 6); NDR_MEMBER_ARR_WITH_SIZE_IS (_ulong, SubAuthority, 8UL, val->SubAuthCount); /* do members with pointers in order */ return 1; } int ndr__netr_string (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_string = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__netr_string, /* ndr_func */ 8, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 8, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_string (struct ndr_reference *encl_ref) { struct netr_string *val = (struct netr_string *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ushort, length, 0UL); NDR_MEMBER (_ushort, allosize, 2UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ NDR_MEMBER_PTR (s_wchar, str, 4UL); return 1; } int ndr__netr_vcs (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_vcs = { 1, /* NDR version */ 3, /* alignment */ NDR_F_CONFORMANT|NDR_F_STRUCT, /* flags */ ndr__netr_vcs, /* ndr_func */ 8, /* pdu_size_fixed_part */ 2, /* pdu_size_variable_part */ 8, /* c_size_fixed_part */ 2, /* c_size_variable_part */ }; /* * */ int ndr__netr_vcs (struct ndr_reference *encl_ref) { struct netr_vcs *val = (struct netr_vcs *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, vc_first_is, 0UL); NDR_MEMBER (_ulong, vc_length_is, 4UL); /* do all constructed elements w/o pointers */ NDR_MEMBER_ARR_WITH_SIZE_IS (_ushort, buffer, 8UL, val->vc_length_is); /* do members with pointers in order */ return 1; } int ndr__netr_vcstr (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_vcstr = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__netr_vcstr, /* ndr_func */ 8, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 8, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_vcstr (struct ndr_reference *encl_ref) { struct netr_vcstr *val = (struct netr_vcstr *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ushort, wclen, 0UL); NDR_MEMBER (_ushort, wcsize, 2UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ NDR_MEMBER_PTR (_netr_vcs, vcs, 4UL); return 1; } int ndr__netr_vcb (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_vcb = { 1, /* NDR version */ 3, /* alignment */ NDR_F_CONFORMANT|NDR_F_STRUCT, /* flags */ ndr__netr_vcb, /* ndr_func */ 8, /* pdu_size_fixed_part */ 1, /* pdu_size_variable_part */ 8, /* c_size_fixed_part */ 1, /* c_size_variable_part */ }; /* * */ int ndr__netr_vcb (struct ndr_reference *encl_ref) { struct netr_vcb *val = (struct netr_vcb *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, vc_first_is, 0UL); NDR_MEMBER (_ulong, vc_length_is, 4UL); /* do all constructed elements w/o pointers */ NDR_MEMBER_ARR_WITH_SIZE_IS (_uchar, buffer, 8UL, val->vc_length_is); /* do members with pointers in order */ return 1; } int ndr__netr_vcbuf (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_vcbuf = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__netr_vcbuf, /* ndr_func */ 8, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 8, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_vcbuf (struct ndr_reference *encl_ref) { struct netr_vcbuf *val = (struct netr_vcbuf *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ushort, len, 0UL); NDR_MEMBER (_ushort, size, 2UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ NDR_MEMBER_PTR (_netr_vcb, vcb, 4UL); return 1; } int ndr__netr_credential (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_credential = { 1, /* NDR version */ 0, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__netr_credential, /* ndr_func */ 8, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 8, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_credential (struct ndr_reference *encl_ref) { struct netr_credential *val = (struct netr_credential *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ /* do all constructed elements w/o pointers */ NDR_MEMBER_ARR_WITH_DIMENSION (_uchar, data, 0UL, 8); /* do members with pointers in order */ return 1; } int ndr__netr_authenticator (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_authenticator = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__netr_authenticator, /* ndr_func */ 12, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 12, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_authenticator (struct ndr_reference *encl_ref) { struct netr_authenticator *val = (struct netr_authenticator *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, timestamp, 8UL); /* do all constructed elements w/o pointers */ NDR_MEMBER (_netr_credential, credential, 0UL); /* do members with pointers in order */ return 1; } int ndr__OLD_LARGE_INTEGER (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__OLD_LARGE_INTEGER = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__OLD_LARGE_INTEGER, /* ndr_func */ 8, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 8, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__OLD_LARGE_INTEGER (struct ndr_reference *encl_ref) { struct OLD_LARGE_INTEGER *val = (struct OLD_LARGE_INTEGER *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, LowPart, 0UL); NDR_MEMBER (_ulong, HighPart, 4UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ return 1; } int ndr__CYPHER_BLOCK (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__CYPHER_BLOCK = { 1, /* NDR version */ 0, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__CYPHER_BLOCK, /* ndr_func */ 8, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 8, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__CYPHER_BLOCK (struct ndr_reference *encl_ref) { struct CYPHER_BLOCK *val = (struct CYPHER_BLOCK *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ /* do all constructed elements w/o pointers */ NDR_MEMBER_ARR_WITH_DIMENSION (_uchar, data, 0UL, 8); /* do members with pointers in order */ return 1; } int ndr__OWF_PASSWORD (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__OWF_PASSWORD = { 1, /* NDR version */ 0, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__OWF_PASSWORD, /* ndr_func */ 16, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 16, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__OWF_PASSWORD (struct ndr_reference *encl_ref) { struct OWF_PASSWORD *val = (struct OWF_PASSWORD *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ /* do all constructed elements w/o pointers */ NDR_MEMBER_ARR_WITH_DIMENSION (_uchar, data, 0UL, 16); /* do members with pointers in order */ return 1; } int ndr__netr_trust_password (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_trust_password = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__netr_trust_password, /* ndr_func */ 516, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 516, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_trust_password (struct ndr_reference *encl_ref) { struct netr_trust_password *val = (struct netr_trust_password *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, Length, 512UL); /* do all constructed elements w/o pointers */ NDR_MEMBER_ARR_WITH_DIMENSION (_ushort, Buffer, 0UL, 256); /* do members with pointers in order */ return 1; } int ndr__USER_SESSION_KEY (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__USER_SESSION_KEY = { 1, /* NDR version */ 0, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__USER_SESSION_KEY, /* ndr_func */ 16, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 16, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__USER_SESSION_KEY (struct ndr_reference *encl_ref) { struct USER_SESSION_KEY *val = (struct USER_SESSION_KEY *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ /* do all constructed elements w/o pointers */ NDR_MEMBER_ARR_WITH_DIMENSION (_CYPHER_BLOCK, data, 0UL, 2); /* do members with pointers in order */ return 1; } int ndr__netr_ServerReqChallenge (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_ServerReqChallenge = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__netr_ServerReqChallenge, /* ndr_func */ 28, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 28, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(4) align(2)] */ int ndr__netr_ServerReqChallenge (struct ndr_reference *encl_ref) { struct netr_ServerReqChallenge *val = (struct netr_ServerReqChallenge *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; myref.packed_alignment = 2; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_PTR (s_wchar, servername); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_REF (s_wchar, hostname); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_netr_credential, client_challenge); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_netr_credential, server_challenge); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__netr_ServerAuthenticate2 (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_ServerAuthenticate2 = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__netr_ServerAuthenticate2, /* ndr_func */ 40, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 40, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(15) align(2)] */ int ndr__netr_ServerAuthenticate2 (struct ndr_reference *encl_ref) { struct netr_ServerAuthenticate2 *val = (struct netr_ServerAuthenticate2 *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; myref.packed_alignment = 2; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_PTR (s_wchar, servername); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_REF (s_wchar, account_name); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ushort, account_type); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_REF (s_wchar, hostname); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_netr_credential, client_credential); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_netr_credential, server_credential); } NDR_TOPMOST_MEMBER (_ulong, negotiate_flags); if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__netr_PasswordSet (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_PasswordSet = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__netr_PasswordSet, /* ndr_func */ 48, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 48, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(6) align(2)] */ int ndr__netr_PasswordSet (struct ndr_reference *encl_ref) { struct netr_PasswordSet *val = (struct netr_PasswordSet *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; myref.packed_alignment = 2; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_PTR (s_wchar, servername); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_REF (s_wchar, account_name); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ushort, sec_chan_type); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_REF (s_wchar, hostname); } NDR_TOPMOST_MEMBER (_netr_authenticator, auth); if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_OWF_PASSWORD, owf_password); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__netr_PasswordSet2 (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_PasswordSet2 = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__netr_PasswordSet2, /* ndr_func */ 548, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 548, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(30)] */ int ndr__netr_PasswordSet2 (struct ndr_reference *encl_ref) { struct netr_PasswordSet2 *val = (struct netr_PasswordSet2 *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_PTR (s_wchar, servername); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_REF (s_wchar, account_name); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ushort, sec_chan_type); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_REF (s_wchar, hostname); } NDR_TOPMOST_MEMBER (_netr_authenticator, auth); if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_netr_trust_password, trust_password); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__lm_challenge (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__lm_challenge = { 1, /* NDR version */ 0, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__lm_challenge, /* ndr_func */ 8, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 8, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__lm_challenge (struct ndr_reference *encl_ref) { struct lm_challenge *val = (struct lm_challenge *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ /* do all constructed elements w/o pointers */ NDR_MEMBER_ARR_WITH_DIMENSION (_uchar, data, 0UL, 8); /* do members with pointers in order */ return 1; } int ndr__netr_logon_identity_info (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_logon_identity_info = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__netr_logon_identity_info, /* ndr_func */ 36, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 36, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_logon_identity_info (struct ndr_reference *encl_ref) { struct netr_logon_identity_info *val = (struct netr_logon_identity_info *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, parameter_control, 8UL); /* do all constructed elements w/o pointers */ NDR_MEMBER (_OLD_LARGE_INTEGER, logon_id, 12UL); /* do members with pointers in order */ NDR_MEMBER (_netr_vcstr, domain_name, 0UL); NDR_MEMBER (_netr_vcstr, username, 20UL); NDR_MEMBER (_netr_vcstr, workstation, 28UL); return 1; } int ndr__netr_logon_info1 (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_logon_info1 = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__netr_logon_info1, /* ndr_func */ 68, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 68, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_logon_info1 (struct ndr_reference *encl_ref) { struct netr_logon_info1 *val = (struct netr_logon_info1 *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ /* do all constructed elements w/o pointers */ NDR_MEMBER (_OWF_PASSWORD, lm_owf_password, 36UL); NDR_MEMBER (_OWF_PASSWORD, nt_owf_password, 52UL); /* do members with pointers in order */ NDR_MEMBER (_netr_logon_identity_info, identity, 0UL); return 1; } int ndr__netr_logon_info2 (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_logon_info2 = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__netr_logon_info2, /* ndr_func */ 60, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 60, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_logon_info2 (struct ndr_reference *encl_ref) { struct netr_logon_info2 *val = (struct netr_logon_info2 *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ /* do all constructed elements w/o pointers */ NDR_MEMBER (_lm_challenge, lm_challenge, 36UL); /* do members with pointers in order */ NDR_MEMBER (_netr_logon_identity_info, identity, 0UL); NDR_MEMBER (_netr_vcbuf, nt_response, 44UL); NDR_MEMBER (_netr_vcbuf, lm_response, 52UL); return 1; } int ndr__netr_logon_info_u (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_logon_info_u = { 1, /* NDR version */ 3, /* alignment */ NDR_F_UNION, /* flags */ ndr__netr_logon_info_u, /* ndr_func */ 4, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 4, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_logon_info_u (struct ndr_reference *encl_ref) { union netr_logon_info_u *val = (union netr_logon_info_u *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; switch (encl_ref->switch_is) { case 1: NDR_MEMBER_PTR (_netr_logon_info1, info1, 0UL); break; case 2: NDR_MEMBER_PTR (_netr_logon_info2, info2, 0UL); break; default: NDR_MEMBER (_ulong, nothing, 0UL); break; } return 1; } int ndr__netr_login_info (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_login_info = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__netr_login_info, /* ndr_func */ 8, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 8, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_login_info (struct ndr_reference *encl_ref) { struct netr_login_info *val = (struct netr_login_info *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ushort, logon_level, 0UL); NDR_MEMBER (_ushort, switch_value, 2UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ NDR_MEMBER_WITH_SWITCH_IS (_netr_logon_info_u, ru, 4UL, val->switch_value); return 1; } int ndr__netr_group_membership (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_group_membership = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__netr_group_membership, /* ndr_func */ 8, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 8, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_group_membership (struct ndr_reference *encl_ref) { struct netr_group_membership *val = (struct netr_group_membership *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, rid, 0UL); NDR_MEMBER (_ulong, attributes, 4UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ return 1; } int ndr__netr_sid_and_attributes (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_sid_and_attributes = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__netr_sid_and_attributes, /* ndr_func */ 8, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 8, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_sid_and_attributes (struct ndr_reference *encl_ref) { struct netr_sid_and_attributes *val = (struct netr_sid_and_attributes *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, attributes, 4UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ NDR_MEMBER_PTR (_netr_sid, sid, 0UL); return 1; } int ndr__netr_validation_info3 (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_validation_info3 = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__netr_validation_info3, /* ndr_func */ 204, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 204, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_validation_info3 (struct ndr_reference *encl_ref) { struct netr_validation_info3 *val = (struct netr_validation_info3 *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ushort, LogonCount, 96UL); NDR_MEMBER (_ushort, BadPasswordCount, 98UL); NDR_MEMBER (_ulong, UserId, 100UL); NDR_MEMBER (_ulong, PrimaryGroupId, 104UL); NDR_MEMBER (_ulong, GroupCount, 108UL); NDR_MEMBER (_ulong, UserFlags, 116UL); NDR_MEMBER (_ulong, SidCount, 196UL); /* do all constructed elements w/o pointers */ NDR_MEMBER (_OLD_LARGE_INTEGER, LogonTime, 0UL); NDR_MEMBER (_OLD_LARGE_INTEGER, LogoffTime, 8UL); NDR_MEMBER (_OLD_LARGE_INTEGER, KickOffTime, 16UL); NDR_MEMBER (_OLD_LARGE_INTEGER, PasswordLastSet, 24UL); NDR_MEMBER (_OLD_LARGE_INTEGER, PasswordCanChange, 32UL); NDR_MEMBER (_OLD_LARGE_INTEGER, PasswordMustChange, 40UL); NDR_MEMBER (_USER_SESSION_KEY, UserSessionKey, 120UL); NDR_MEMBER_ARR_WITH_DIMENSION (_ulong, ExpansionRoom, 156UL, 10); /* do members with pointers in order */ NDR_MEMBER (_netr_string, EffectiveName, 48UL); NDR_MEMBER (_netr_string, FullName, 56UL); NDR_MEMBER (_netr_string, LogonScript, 64UL); NDR_MEMBER (_netr_string, ProfilePath, 72UL); NDR_MEMBER (_netr_string, HomeDirectory, 80UL); NDR_MEMBER (_netr_string, HomeDirectoryDrive, 88UL); NDR_MEMBER_PTR_WITH_SIZE_IS (_netr_group_membership, GroupIds, 112UL, val->GroupCount); NDR_MEMBER (_netr_string, LogonServer, 136UL); NDR_MEMBER (_netr_string, LogonDomainName, 144UL); NDR_MEMBER_PTR (_netr_sid, LogonDomainId, 152UL); NDR_MEMBER_PTR_WITH_SIZE_IS (_netr_sid_and_attributes, ExtraSids, 200UL, val->SidCount); return 1; } int ndr__krb5_validation_info (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__krb5_validation_info = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__krb5_validation_info, /* ndr_func */ 216, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 216, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__krb5_validation_info (struct ndr_reference *encl_ref) { struct krb5_validation_info *val = (struct krb5_validation_info *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ulong, rg_rid_cnt, 208UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ NDR_MEMBER (_netr_validation_info3, info3, 0UL); NDR_MEMBER_PTR (_netr_sid, rg_dom_sid, 204UL); NDR_MEMBER_PTR_WITH_SIZE_IS (_netr_group_membership, rg_rids, 212UL, val->rg_rid_cnt); return 1; } int ndr__netr_validation_u (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_validation_u = { 1, /* NDR version */ 3, /* alignment */ NDR_F_UNION, /* flags */ ndr__netr_validation_u, /* ndr_func */ 4, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 4, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_validation_u (struct ndr_reference *encl_ref) { union netr_validation_u *val = (union netr_validation_u *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; switch (encl_ref->switch_is) { case 3: NDR_MEMBER_PTR (_netr_validation_info3, info3, 0UL); break; default: NDR_MEMBER (_ulong, nothing, 0UL); break; } return 1; } int ndr__netr_validation_info (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_validation_info = { 1, /* NDR version */ 3, /* alignment */ NDR_F_STRUCT, /* flags */ ndr__netr_validation_info, /* ndr_func */ 8, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 8, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * */ int ndr__netr_validation_info (struct ndr_reference *encl_ref) { struct netr_validation_info *val = (struct netr_validation_info *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all basic elements first */ NDR_MEMBER (_ushort, validation_level, 0UL); /* do all constructed elements w/o pointers */ /* do members with pointers in order */ NDR_MEMBER_WITH_SWITCH_IS (_netr_validation_u, ru, 4UL, val->validation_level); return 1; } int ndr__netr_SamLogon (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_SamLogon = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__netr_SamLogon, /* ndr_func */ 40, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 40, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; extern void fixup_netr_SamLogon(struct netr_SamLogon *val); /* * [operation(2)] */ int ndr__netr_SamLogon (struct ndr_reference *encl_ref) { struct netr_SamLogon *val = (struct netr_SamLogon *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_PTR (s_wchar, servername); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_PTR (s_wchar, hostname); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_PTR (_netr_authenticator, auth); } NDR_TOPMOST_MEMBER_PTR (_netr_authenticator, ret_auth); if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_netr_login_info, logon_info); } NDR_TOPMOST_MEMBER (_ushort, validation_level); if (NDR_DIR_IS_OUT) { /* * Cannot use the canned offsets to unmarshall multiple * entry discriminated unions. The service must provide * this function to patch the offsets at runtime. */ fixup_netr_SamLogon(val); NDR_TOPMOST_MEMBER_WITH_SWITCH_IS (_netr_validation_u, ru, val->validation_level); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, authoritative); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__netr_SamLogoff (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_SamLogoff = { 1, /* NDR version */ 3, /* alignment */ NDR_F_OPERATION, /* flags */ ndr__netr_SamLogoff, /* ndr_func */ 44, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 44, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [operation(3)] */ int ndr__netr_SamLogoff (struct ndr_reference *encl_ref) { struct netr_SamLogoff *val = (struct netr_SamLogoff *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; /* do all members in order */ if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_PTR (s_wchar, servername); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_REF (s_wchar, hostname); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_netr_authenticator, auth); } NDR_TOPMOST_MEMBER (_netr_authenticator, ret_auth); if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER (_ulong, logon_level); } if (NDR_DIR_IS_IN) { NDR_TOPMOST_MEMBER_WITH_SWITCH_IS (_netr_logon_info_u, ru, val->logon_level); } if (NDR_DIR_IS_OUT) { NDR_TOPMOST_MEMBER (_ulong, status); } return 1; } int ndr__netr_interface (struct ndr_reference *encl_ref); struct ndr_typeinfo ndt__netr_interface = { 1, /* NDR version */ 3, /* alignment */ NDR_F_INTERFACE, /* flags */ ndr__netr_interface, /* ndr_func */ 548, /* pdu_size_fixed_part */ 0, /* pdu_size_variable_part */ 548, /* c_size_fixed_part */ 0, /* c_size_variable_part */ }; /* * [interface(0)] */ int ndr__netr_interface (struct ndr_reference *encl_ref) { union netr_interface *val = (union netr_interface *) encl_ref->datum; struct ndr_reference myref; (void) bzero(&myref, sizeof (myref)); myref.enclosing = encl_ref; myref.stream = encl_ref->stream; switch (encl_ref->switch_is) { case 4: NDR_PARAMS_MEMBER (_netr_ServerReqChallenge, ServerReqChallenge); break; case 15: NDR_PARAMS_MEMBER (_netr_ServerAuthenticate2, ServerAuthenticate2); break; case 2: NDR_PARAMS_MEMBER (_netr_SamLogon, SamLogon); break; case 3: NDR_PARAMS_MEMBER (_netr_SamLogoff, SamLogoff); break; case 6: NDR_PARAMS_MEMBER (_netr_PasswordSet, PasswordSet); break; case 30: NDR_PARAMS_MEMBER (_netr_PasswordSet2, PasswordSet2); break; case 1000: NDR_PARAMS_MEMBER (_krb5_validation_info, krb5pac); break; default: NDR_SET_ERROR(encl_ref, NDR_ERR_SWITCH_VALUE_INVALID); return 0; break; } return 1; }