Lines Matching refs:param

234 	struct samr_Connect *param = arg;
238 param->access_mask);
240 bcopy(id, &param->handle, sizeof (samr_handle_t));
241 param->status = 0;
243 bzero(&param->handle, sizeof (samr_handle_t));
244 param->status = NT_SC_ERROR(NT_STATUS_NO_MEMORY);
259 struct samr_CloseHandle *param = arg;
260 ndr_hdid_t *id = (ndr_hdid_t *)&param->handle;
264 bzero(&param->result_handle, sizeof (samr_handle_t));
265 param->status = 0;
280 struct samr_LookupDomain *param = arg;
284 if ((domain_name = (char *)param->domain_name.str) == NULL) {
285 bzero(param, sizeof (struct samr_LookupDomain));
286 param->status = NT_SC_ERROR(NT_STATUS_INVALID_PARAMETER);
291 bzero(param, sizeof (struct samr_LookupDomain));
292 param->status = NT_SC_ERROR(NT_STATUS_NO_SUCH_DOMAIN);
296 param->sid = (struct samr_sid *)NDR_SIDDUP(mxa, di.di_binsid);
297 if (param->sid == NULL) {
298 bzero(param, sizeof (struct samr_LookupDomain));
299 param->status = NT_SC_ERROR(NT_STATUS_NO_MEMORY);
303 param->status = NT_STATUS_SUCCESS;
317 struct samr_EnumLocalDomain *param = arg;
318 ndr_hdid_t *id = (ndr_hdid_t *)&param->handle;
324 status = samr_s_enum_local_domains(param, mxa);
327 param->enum_context = param->info->entries_read;
328 param->total_entries = param->info->entries_read;
329 param->status = NT_STATUS_SUCCESS;
331 bzero(param, sizeof (struct samr_EnumLocalDomain));
332 param->status = NT_SC_ERROR(status);
351 samr_s_enum_local_domains(struct samr_EnumLocalDomain *param,
379 param->info = info;
393 struct samr_OpenDomain *param = arg;
394 ndr_hdid_t *id = (ndr_hdid_t *)&param->handle;
398 bzero(&param->domain_handle, sizeof (samr_handle_t));
399 param->status = NT_SC_ERROR(NT_STATUS_ACCESS_DENIED);
403 if (!smb_domain_lookup_sid((smb_sid_t *)param->sid, &domain)) {
404 bzero(&param->domain_handle, sizeof (samr_handle_t));
405 param->status = NT_SC_ERROR(NT_STATUS_CANT_ACCESS_DOMAIN_INFO);
411 bzero(&param->domain_handle, sizeof (samr_handle_t));
412 param->status = NT_SC_ERROR(NT_STATUS_CANT_ACCESS_DOMAIN_INFO);
417 param->access_mask);
419 bcopy(id, &param->domain_handle, sizeof (samr_handle_t));
420 param->status = 0;
422 bzero(&param->domain_handle, sizeof (samr_handle_t));
423 param->status = NT_SC_ERROR(NT_STATUS_NO_MEMORY);
442 struct samr_QueryDomainInfo *param = arg;
444 ndr_hdid_t *id = (ndr_hdid_t *)&param->domain_handle;
453 bzero(param, sizeof (struct samr_QueryDomainInfo));
454 param->status = NT_SC_ERROR(NT_STATUS_INVALID_HANDLE);
460 bzero(param, sizeof (struct samr_QueryDomainInfo));
461 param->status = NT_SC_ERROR(NT_STATUS_NO_MEMORY);
464 info->switch_value = param->info_level;
465 param->info = info;
486 bzero(param, sizeof (struct samr_QueryDomainInfo));
487 param->status = NT_SC_ERROR(NT_STATUS_INVALID_HANDLE);
492 bzero(param, sizeof (struct samr_QueryDomainInfo));
493 param->status = NT_SC_ERROR(NT_STATUS_INTERNAL_ERROR);
497 switch (param->info_level) {
504 param->status = NT_STATUS_SUCCESS;
509 param->status = NT_STATUS_SUCCESS;
531 param->status = NT_STATUS_SUCCESS;
535 bzero(param, sizeof (struct samr_QueryDomainInfo));
561 struct samr_LookupNames *param = arg;
562 ndr_hdid_t *id = (ndr_hdid_t *)&param->handle;
572 if (param->n_entry != 1)
575 if (param->name.str == NULL) {
584 bzero(param, sizeof (struct samr_LookupNames));
585 param->status = NT_SC_ERROR(status);
589 param->rids.rid = NDR_NEW(mxa, DWORD);
590 param->rid_types.rid_type = NDR_NEW(mxa, DWORD);
596 wka = smb_wka_lookup_builtin((char *)param->name.str);
598 param->rids.n_entry = 1;
600 &param->rids.rid[0]);
601 param->rid_types.n_entry = 1;
602 param->rid_types.rid_type[0] = wka->wka_type;
603 param->status = NT_STATUS_SUCCESS;
609 status = smb_sam_lookup_name(NULL, (char *)param->name.str,
612 param->rids.n_entry = 1;
613 param->rids.rid[0] = account.a_rid;
614 param->rid_types.n_entry = 1;
615 param->rid_types.rid_type[0] = account.a_type;
616 param->status = NT_STATUS_SUCCESS;
623 bzero(param, sizeof (struct samr_LookupNames));
624 param->status = NT_SC_ERROR(NT_STATUS_INVALID_HANDLE);
628 param->rids.n_entry = 0;
629 param->rid_types.n_entry = 0;
630 param->status = NT_SC_ERROR(NT_STATUS_NONE_MAPPED);
645 struct samr_OpenUser *param = arg;
646 ndr_hdid_t *id = (ndr_hdid_t *)&param->handle;
651 bzero(&param->user_handle, sizeof (samr_handle_t));
652 param->status = NT_SC_ERROR(NT_STATUS_INVALID_HANDLE);
658 id = samr_hdalloc(mxa, SAMR_KEY_USER, data->kd_type, param->rid,
659 param->access_mask);
661 bzero(&param->user_handle, sizeof (samr_handle_t));
662 param->status = NT_SC_ERROR(NT_STATUS_NO_MEMORY);
664 bcopy(id, &param->user_handle, sizeof (samr_handle_t));
665 param->status = NT_STATUS_SUCCESS;
681 struct samr_DeleteUser *param = arg;
683 bzero(param, sizeof (struct samr_DeleteUser));
684 param->status = NT_SC_ERROR(NT_STATUS_ACCESS_DENIED);
718 struct samr_QueryUserInfo *param = arg;
729 id = (ndr_hdid_t *)&param->user_handle;
737 if (param->switch_value != SAMR_QUERY_USER_ALL_INFO) {
764 all_info = &param->ru.info21;
783 param->address = 1;
784 param->switch_index = SAMR_QUERY_USER_ALL_INFO;
785 param->status = NT_STATUS_SUCCESS;
791 bzero(param, sizeof (struct samr_QueryUserInfo));
792 param->address = 1;
793 param->switch_index = SAMR_QUERY_USER_ALL_INFO;
794 param->status = NT_SC_ERROR(status);
808 struct samr_QueryUserGroups *param = arg;
811 ndr_hdid_t *id = (ndr_hdid_t *)&param->user_handle;
882 param->info = info;
883 param->status = NT_STATUS_SUCCESS;
888 bzero(param, sizeof (struct samr_QueryUserGroups));
889 param->status = NT_SC_ERROR(status);
907 struct samr_OpenGroup *param = arg;
908 ndr_hdid_t *id = (ndr_hdid_t *)&param->handle;
913 bzero(&param->group_handle, sizeof (samr_handle_t));
914 param->status = NT_SC_ERROR(NT_STATUS_INVALID_HANDLE);
919 id = samr_hdalloc(mxa, SAMR_KEY_GROUP, data->kd_type, param->rid,
920 param->access_mask);
923 bcopy(id, &param->group_handle, sizeof (samr_handle_t));
924 param->status = 0;
926 bzero(&param->group_handle, sizeof (samr_handle_t));
927 param->status = NT_SC_ERROR(NT_STATUS_NO_MEMORY);
943 struct samr_AddAliasMember *param = arg;
944 ndr_hdid_t *id = (ndr_hdid_t *)&param->alias_handle;
951 if (param->sid == NULL) {
952 bzero(param, sizeof (struct samr_AddAliasMember));
953 param->status = NT_SC_ERROR(NT_STATUS_INVALID_PARAMETER);
958 bzero(param, sizeof (struct samr_AddAliasMember));
959 param->status = NT_SC_ERROR(NT_STATUS_ACCESS_DENIED);
965 bzero(param, sizeof (struct samr_AddAliasMember));
966 param->status = NT_SC_ERROR(NT_STATUS_INVALID_HANDLE);
973 bzero(param, sizeof (struct samr_AddAliasMember));
975 param->status = NT_SC_ERROR(status);
980 (smb_sid_t *)param->sid, SidTypeUser);
982 bzero(param, sizeof (struct samr_AddAliasMember));
984 param->status = NT_SC_ERROR(status);
988 param->status = status;
1002 struct samr_DeleteAliasMember *param = arg;
1003 ndr_hdid_t *id = (ndr_hdid_t *)&param->alias_handle;
1010 if (param->sid == NULL) {
1011 bzero(param, sizeof (struct samr_DeleteAliasMember));
1012 param->status = NT_SC_ERROR(NT_STATUS_INVALID_PARAMETER);
1017 bzero(param, sizeof (struct samr_DeleteAliasMember));
1018 param->status = NT_SC_ERROR(NT_STATUS_ACCESS_DENIED);
1023 bzero(param, sizeof (struct samr_DeleteAliasMember));
1024 param->status = NT_SC_ERROR(NT_STATUS_INVALID_HANDLE);
1031 bzero(param, sizeof (struct samr_DeleteAliasMember));
1033 param->status = NT_SC_ERROR(status);
1038 (smb_sid_t *)param->sid, SidTypeUser);
1040 bzero(param, sizeof (struct samr_DeleteAliasMember));
1042 param->status = NT_SC_ERROR(status);
1046 param->status = status;
1060 struct samr_ListAliasMembers *param = arg;
1061 ndr_hdid_t *id = (ndr_hdid_t *)&param->alias_handle;
1074 bzero(param, sizeof (struct samr_ListAliasMembers));
1075 param->status = NT_SC_ERROR(NT_STATUS_INVALID_HANDLE);
1083 bzero(param, sizeof (struct samr_ListAliasMembers));
1085 param->status = NT_SC_ERROR(status);
1094 bzero(param, sizeof (struct samr_ListAliasMembers));
1095 param->status = NT_SC_ERROR(NT_STATUS_NO_MEMORY);
1106 bzero(param, sizeof (struct samr_ListAliasMembers));
1107 param->status = NT_SC_ERROR(NT_STATUS_NO_MEMORY);
1115 param->info = info;
1116 param->status = status;
1133 struct samr_Connect2 *param = arg;
1137 param->access_mask);
1139 bcopy(id, &param->handle, sizeof (samr_handle_t));
1140 param->status = 0;
1142 bzero(&param->handle, sizeof (samr_handle_t));
1143 param->status = NT_SC_ERROR(NT_STATUS_NO_MEMORY);
1159 struct samr_GetUserPwInfo *param = arg;
1161 param->pwinfo = &pwinfo;
1162 param->status = NT_STATUS_SUCCESS;
1173 struct samr_CreateUser *param = arg;
1175 bzero(&param->user_handle, sizeof (samr_handle_t));
1176 param->status = NT_SC_ERROR(NT_STATUS_ACCESS_DENIED);
1187 struct samr_ChangeUserPasswd *param = arg;
1189 bzero(param, sizeof (struct samr_ChangeUserPasswd));
1190 param->status = NT_SC_ERROR(NT_STATUS_ACCESS_DENIED);
1204 struct samr_GetDomainPwInfo *param = arg;
1206 param->pwinfo = &pwinfo;
1207 param->status = NT_STATUS_SUCCESS;
1218 struct samr_SetUserInfo *param = arg;
1220 bzero(param, sizeof (struct samr_SetUserInfo));
1221 param->status = NT_SC_ERROR(NT_STATUS_ACCESS_DENIED);
1238 struct samr_QueryDispInfo *param = arg;
1239 ndr_hdid_t *id = (ndr_hdid_t *)&param->domain_handle;
1256 if (!SAMR_VALID_DISPLEVEL(param->level)) {
1261 if (!SAMR_SUPPORTED_DISPLEVEL(param->level)) {
1274 start_idx = param->start_idx;
1279 if (max_retcnt > param->max_entries)
1280 max_retcnt = param->max_entries;
1281 param->users.acct = NDR_MALLOC(mxa,
1283 user = param->users.acct;
1324 param->status = status;
1326 param->status = NT_STATUS_MORE_ENTRIES;
1329 param->users.total_size = num_users;
1330 param->users.returned_size = retcnt;
1331 param->users.switch_value = param->level;
1332 param->users.count = retcnt;
1344 param->users.total_size = 0;
1345 param->users.returned_size = 0;
1346 param->users.switch_value = param->level;
1347 param->users.count = 0;
1348 param->users.acct = NULL;
1349 param->status = status;
1353 bzero(param, sizeof (struct samr_QueryDispInfo));
1354 param->status = NT_SC_ERROR(status);
1372 struct samr_EnumDomainGroups *param = arg;
1373 ndr_hdid_t *id = (ndr_hdid_t *)&param->domain_handle;
1379 param->total_size = 0;
1380 param->returned_size = 0;
1381 param->switch_value = 3;
1382 param->count = 0;
1383 param->groups = 0;
1384 param->status = status;
1388 if ((desc->discrim != SAMR_LOCAL_DOMAIN) || (param->start_idx != 0)) {
1389 param->total_size = 0;
1390 param->returned_size = 0;
1391 param->switch_value = 3;
1392 param->count = 0;
1393 param->groups = 0;
1395 param->total_size = 64;
1396 param->returned_size = 64;
1397 param->switch_value = 3;
1398 param->count = 1;
1399 param->groups = (struct group_disp_info *)NDR_MALLOC(
1402 param->groups->count = 1;
1403 param->groups->acct[0].index = 1;
1404 param->groups->acct[0].rid = 513;
1405 param->groups->acct[0].ctrl = 0x7;
1407 (ndr_mstring_t *)&param->groups->acct[0].name);
1410 (ndr_mstring_t *)&param->groups->acct[0].desc);
1413 param->status = NT_STATUS_SUCCESS;
1428 struct samr_OpenAlias *param = arg;
1429 ndr_hdid_t *id = (ndr_hdid_t *)&param->domain_handle;
1445 if ((param->access_mask & SAMR_ALIAS_ACCESS_ALL_ACCESS) == 0) {
1452 rid = param->rid;
1485 id = samr_hdalloc(mxa, SAMR_KEY_ALIAS, data->kd_type, param->rid,
1486 param->access_mask);
1488 bcopy(id, &param->alias_handle, sizeof (samr_handle_t));
1489 param->status = NT_STATUS_SUCCESS;
1496 bzero(&param->alias_handle, sizeof (samr_handle_t));
1497 param->status = NT_SC_ERROR(status);
1513 struct samr_CreateDomainAlias *param = arg;
1514 ndr_hdid_t *id = (ndr_hdid_t *)&param->alias_handle;
1521 bzero(param, sizeof (struct samr_CreateDomainAlias));
1522 param->status = NT_SC_ERROR(NT_STATUS_INVALID_HANDLE);
1526 gname = (char *)param->alias_name.str;
1528 bzero(&param->alias_handle, sizeof (samr_handle_t));
1529 param->status = NT_SC_ERROR(NT_STATUS_INVALID_PARAMETER);
1534 ((param->access_mask & SAMR_ALIAS_ACCESS_WRITE_ACCOUNT) == 0)) {
1535 bzero(&param->alias_handle, sizeof (samr_handle_t));
1536 param->status = NT_SC_ERROR(NT_STATUS_ACCESS_DENIED);
1542 bzero(&param->alias_handle, sizeof (samr_handle_t));
1544 param->status = NT_SC_ERROR(status);
1550 bzero(&param->alias_handle, sizeof (samr_handle_t));
1552 param->status = NT_SC_ERROR(status);
1557 param->access_mask);
1560 bcopy(id, &param->alias_handle, sizeof (samr_handle_t));
1561 param->status = status;
1563 bzero(&param->alias_handle, sizeof (samr_handle_t));
1564 param->status = NT_SC_ERROR(NT_STATUS_NO_MEMORY);
1578 struct samr_SetAliasInfo *param = arg;
1579 ndr_hdid_t *id = (ndr_hdid_t *)&param->alias_handle;
1585 param->status = status;
1598 struct samr_QueryAliasInfo *param = arg;
1599 ndr_hdid_t *id = (ndr_hdid_t *)&param->alias_handle;
1658 switch (param->level) {
1660 param->ru.info1.level = param->level;
1662 (ndr_mstring_t *)&param->ru.info1.name);
1665 (ndr_mstring_t *)&param->ru.info1.desc);
1667 param->ru.info1.unknown = 1;
1671 param->ru.info3.level = param->level;
1673 (ndr_mstring_t *)&param->ru.info3.desc);
1685 param->address = (DWORD)(uintptr_t)&param->ru;
1686 param->status = 0;
1690 param->status = NT_SC_ERROR(status);
1706 struct samr_DeleteDomainAlias *param = arg;
1707 ndr_hdid_t *id = (ndr_hdid_t *)&param->alias_handle;
1717 bzero(param, sizeof (struct samr_DeleteDomainAlias));
1718 param->status = NT_SC_ERROR(NT_STATUS_ACCESS_DENIED);
1723 bzero(param, sizeof (struct samr_DeleteDomainAlias));
1724 param->status = NT_SC_ERROR(NT_STATUS_INVALID_HANDLE);
1734 bzero(param, sizeof (struct samr_DeleteDomainAlias));
1741 bzero(param, sizeof (struct samr_DeleteDomainAlias));
1749 bzero(param, sizeof (struct samr_DeleteDomainAlias));
1757 bzero(param, sizeof (struct samr_DeleteDomainAlias));
1761 param->status = status;
1773 struct samr_EnumDomainAliases *param = arg;
1774 ndr_hdid_t *id = (ndr_hdid_t *)&param->domain_handle;
1783 bzero(param, sizeof (struct samr_EnumDomainAliases));
1784 param->status = NT_SC_ERROR(NT_STATUS_INVALID_HANDLE);
1791 if (cnt <= param->resume_handle) {
1792 param->aliases = (struct aliases_info *)NDR_MALLOC(mxa,
1795 if (param->aliases == NULL) {
1796 bzero(param, sizeof (struct samr_EnumDomainAliases));
1797 param->status = NT_SC_ERROR(NT_STATUS_NO_MEMORY);
1801 bzero(param->aliases, sizeof (struct aliases_info));
1802 param->out_resume = 0;
1803 param->entries = 0;
1804 param->status = NT_STATUS_SUCCESS;
1808 cnt -= param->resume_handle;
1809 param->aliases = (struct aliases_info *)NDR_MALLOC(mxa,
1812 if (param->aliases == NULL) {
1813 bzero(param, sizeof (struct samr_EnumDomainAliases));
1814 param->status = NT_SC_ERROR(NT_STATUS_NO_MEMORY);
1819 bzero(param, sizeof (struct samr_EnumDomainAliases));
1820 param->status = NT_SC_ERROR(NT_STATUS_INTERNAL_ERROR);
1825 info = param->aliases->info;
1827 if ((skip++ >= param->resume_handle) &&
1839 param->aliases->count = i;
1840 param->aliases->address = i;
1842 param->out_resume = i;
1843 param->entries = i;
1844 param->status = 0;
1854 struct samr_Connect4 *param = arg;
1858 param->access_mask);
1860 bcopy(id, &param->handle, sizeof (samr_handle_t));
1861 param->status = 0;
1863 bzero(&param->handle, sizeof (samr_handle_t));
1864 param->status = NT_SC_ERROR(NT_STATUS_NO_MEMORY);
1880 struct samr_Connect5 *param = arg;
1882 bzero(param, sizeof (struct samr_Connect5));
1927 struct samr_QuerySecObject *param = arg;
1937 bzero(param, sizeof (struct samr_QuerySecObject));
1938 param->status = status;
1944 param->sd = NDR_MALLOC(mxa, sizeof (samr_sd_t));
1945 if ((param->sd == NULL) || (sd_buf == NULL)) {
1947 bzero(param, sizeof (struct samr_QuerySecObject));
1948 param->status = NT_STATUS_NO_MEMORY;
1954 bzero(param, sizeof (struct samr_QuerySecObject));
1955 param->status = NT_STATUS_ACCESS_DENIED;
1959 param->status = status;
1960 param->sd->length = sd_len;
1961 param->sd->data = sd_buf;