Lines Matching refs:arg

158 	struct samr_Connect arg;
162 bzero(&arg, sizeof (struct samr_Connect));
166 arg.servername = ndr_rpc_malloc(samr_handle, sizeof (DWORD));
167 *(arg.servername) = 0x0001005c;
168 arg.access_mask = access_mask;
170 if (ndr_rpc_call(samr_handle, opnum, &arg) != 0) {
172 } else if (arg.status != 0) {
173 status = NT_SC_VALUE(arg.status);
175 (void) memcpy(&samr_handle->handle, &arg.handle,
201 struct samr_Connect2 arg;
205 bzero(&arg, sizeof (struct samr_Connect2));
209 arg.servername = ndr_rpc_derive_nbhandle(samr_handle, server);
210 arg.access_mask = access_mask;
212 if (ndr_rpc_call(samr_handle, opnum, &arg) != 0) {
214 } else if (arg.status != 0) {
215 status = NT_SC_VALUE(arg.status);
217 (void) memcpy(&samr_handle->handle, &arg.handle,
238 struct samr_Connect4 arg;
242 bzero(&arg, sizeof (struct samr_Connect4));
246 arg.servername = ndr_rpc_derive_nbhandle(samr_handle, server);
247 arg.revision = SAMR_REVISION_2;
248 arg.access_mask = access_mask;
250 if (ndr_rpc_call(samr_handle, opnum, &arg) != 0) {
252 } else if (arg.status != 0) {
253 status = NT_SC_VALUE(arg.status);
255 (void) memcpy(&samr_handle->handle, &arg.handle,
282 struct samr_Connect5 arg;
287 bzero(&arg, sizeof (struct samr_Connect5));
294 arg.servername = ndr_rpc_derive_nbhandle(samr_handle, server);
295 arg.access_mask = SAM_ENUM_LOCAL_DOMAIN;
296 arg.unknown2_00000001 = 0x00000001;
297 arg.unknown3_00000001 = 0x00000001;
298 arg.unknown4_00000003 = 0x00000003;
299 arg.unknown5_00000000 = 0x00000000;
301 if (ndr_rpc_call(samr_handle, opnum, &arg) != 0) {
303 } else if (arg.status != 0) {
304 status = NT_SC_VALUE(arg.status);
307 (void) memcpy(&samr_handle->handle, &arg.handle,
329 struct samr_CloseHandle arg;
336 bzero(&arg, sizeof (struct samr_CloseHandle));
337 (void) memcpy(&arg.handle, &samr_handle->handle, sizeof (ndr_hdid_t));
339 (void) ndr_rpc_call(samr_handle, opnum, &arg);
360 struct samr_OpenDomain arg;
370 bzero(&arg, sizeof (struct samr_OpenDomain));
371 (void) memcpy(&arg.handle, &samr_handle->handle, sizeof (ndr_hdid_t));
373 arg.access_mask = access_mask;
374 arg.sid = sid;
376 if (ndr_rpc_call(samr_handle, opnum, &arg) != 0) {
378 } else if (arg.status != 0) {
379 status = arg.status;
384 (void) memcpy(&domain_handle->handle, &arg.domain_handle,
411 struct samr_OpenUser arg;
419 bzero(&arg, sizeof (struct samr_OpenUser));
420 (void) memcpy(&arg.handle, &domain_handle->handle,
422 arg.access_mask = access_mask;
423 arg.rid = rid;
425 if (ndr_rpc_call(domain_handle, opnum, &arg) != 0) {
427 } else if (arg.status != 0) {
428 ndr_rpc_status(domain_handle, opnum, arg.status);
429 status = NT_SC_VALUE(arg.status);
433 (void) memcpy(&user_handle->handle, &arg.user_handle,
452 struct samr_DeleteUser arg;
460 bzero(&arg, sizeof (struct samr_DeleteUser));
461 (void) memcpy(&arg.user_handle, &user_handle->handle,
464 if (ndr_rpc_call(user_handle, opnum, &arg) != 0) {
466 } else if (arg.status != 0) {
467 ndr_rpc_status(user_handle, opnum, arg.status);
468 status = NT_SC_VALUE(arg.status);
492 struct samr_OpenGroup arg;
500 bzero(&arg, sizeof (struct samr_OpenUser));
501 (void) memcpy(&arg.handle, &domain_handle->handle,
503 arg.access_mask = SAM_LOOKUP_INFORMATION | SAM_ACCESS_USER_READ;
504 arg.rid = rid;
506 if ((rc = ndr_rpc_call(domain_handle, opnum, &arg)) != 0)
509 if (arg.status != 0) {
510 ndr_rpc_status(domain_handle, opnum, arg.status);
515 (void) memcpy(&group_handle->handle, &arg.group_handle,
545 struct samr_CreateUser arg;
558 bzero(&arg, sizeof (struct samr_CreateUser));
559 (void) memcpy(&arg.handle, &domain_handle->handle,
563 ndr_heap_mkvcs(heap, username, (ndr_vcstr_t *)&arg.username);
565 arg.account_flags = account_flags;
566 arg.desired_access = 0xE00500B0;
568 rc = ndr_rpc_call(domain_handle, opnum, &arg);
571 } else if (arg.status != 0) {
572 status = NT_SC_VALUE(arg.status);
581 (void) memcpy(&user_handle->handle, &arg.user_handle,
584 *rid = arg.rid;
606 struct samr_LookupDomain arg;
615 bzero(&arg, sizeof (struct samr_LookupDomain));
617 (void) memcpy(&arg.handle, &samr_handle->handle,
624 arg.domain_name.length = length;
625 arg.domain_name.allosize = length;
626 arg.domain_name.str = (unsigned char *)domain_name;
628 if (ndr_rpc_call(samr_handle, opnum, &arg) == 0)
629 domsid = smb_sid_dup((smb_sid_t *)arg.sid);
645 struct samr_EnumLocalDomain arg;
653 bzero(&arg, sizeof (struct samr_EnumLocalDomain));
655 (void) memcpy(&arg.handle, &samr_handle->handle,
657 arg.enum_context = 0;
658 arg.max_length = 0x00002000; /* Value used by NT */
660 if (ndr_rpc_call(samr_handle, opnum, &arg) != 0) {
663 status = NT_SC_VALUE(arg.status);
669 ndr_rpc_status(samr_handle, opnum, arg.status);
681 * arg and caller must free allocated memories by calling smb_account_free().
689 struct samr_LookupNames arg;
701 bzero(&arg, sizeof (struct samr_LookupNames));
703 (void) memcpy(&arg.handle, &domain_handle->handle,
705 arg.n_entry = 1;
706 arg.max_n_entry = 1000;
707 arg.index = 0;
708 arg.total = 1;
714 arg.name.length = length;
715 arg.name.allosize = length;
716 arg.name.str = (unsigned char *)name;
718 if (ndr_rpc_call(domain_handle, opnum, &arg) != 0) {
720 } else if (arg.status != NT_STATUS_SUCCESS) {
721 status = NT_SC_VALUE(arg.status);
727 ndr_rpc_status(domain_handle, opnum, arg.status);
729 account->a_type = arg.rid_types.rid_type[0];
730 account->a_rid = arg.rids.rid[0];
750 struct samr_QueryUserInfo arg;
758 bzero(&arg, sizeof (struct samr_QueryUserInfo));
760 (void) memcpy(&arg.user_handle, &user_handle->handle,
762 arg.switch_value = switch_value;
764 if (ndr_rpc_call(user_handle, opnum, &arg) != 0) {
769 if (arg.status != 0)
772 rc = samr_setup_user_info(switch_value, &arg, user_info);
789 struct samr_QueryUserInfo *arg, union samr_user_info *user_info)
796 info1 = &arg->ru.info1;
808 info6 = &arg->ru.info6;
817 (char const *)arg->ru.info7.username.str);
822 (char const *)arg->ru.info8.fullname.str);
826 user_info->info9.group_rid = arg->ru.info9.group_rid;
855 struct samr_QueryUserGroups arg;
864 bzero(&arg, sizeof (struct samr_QueryUserGroups));
866 (void) memcpy(&arg.user_handle, &user_handle->handle,
869 rc = ndr_rpc_call(user_handle, opnum, &arg);
871 if (arg.info == 0) {
874 nbytes = arg.info->n_entry *
881 *n_groups = arg.info->n_entry;
882 bcopy(arg.info->groups, *groups, nbytes);
904 struct samr_GetUserPwInfo arg;
912 bzero(&arg, sizeof (struct samr_GetUserPwInfo));
913 (void) memcpy(&arg.user_handle, &user_handle->handle,
916 if (ndr_rpc_call(user_handle, opnum, &arg) != 0) {
918 } else if (arg.status != 0) {
919 ndr_rpc_status(user_handle, opnum, arg.status);
920 status = NT_SC_VALUE(arg.status);
941 struct samr_SetUserInfo arg;
952 bzero(&arg, sizeof (struct samr_SetUserInfo));
953 (void) memcpy(&arg.user_handle, &user_handle->handle,
956 arg.info.index = SAMR_SET_USER_INFO_23;
957 arg.info.switch_value = SAMR_SET_USER_INFO_23;
959 samr_set_user_unknowns(&arg.info.ru.info23);
960 samr_set_user_logon_hours(&arg);
962 if (samr_set_user_password(ssn_key, arg.info.ru.info23.password) < 0)
965 if (ndr_rpc_call(user_handle, opnum, &arg) != 0) {
967 } else if (arg.status != 0) {
968 ndr_rpc_status(user_handle, opnum, arg.status);
969 status = NT_SC_VALUE(arg.status);