return out.status;
}
-/** Get privilege name */
-
-NTSTATUS rpccli_lsa_get_dispname(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
- POLICY_HND *pol, const char *name,
- uint16 lang_id, uint16 lang_id_sys,
- fstring description, uint16 *lang_id_desc)
-{
- prs_struct qbuf, rbuf;
- LSA_Q_PRIV_GET_DISPNAME q;
- LSA_R_PRIV_GET_DISPNAME r;
- NTSTATUS result;
-
- ZERO_STRUCT(q);
- ZERO_STRUCT(r);
-
- init_lsa_priv_get_dispname(&q, pol, name, lang_id, lang_id_sys);
-
- CLI_DO_RPC( cli, mem_ctx, PI_LSARPC, LSA_PRIV_GET_DISPNAME,
- q, r,
- qbuf, rbuf,
- lsa_io_q_priv_get_dispname,
- lsa_io_r_priv_get_dispname,
- NT_STATUS_UNSUCCESSFUL);
-
- result = r.status;
-
- if (!NT_STATUS_IS_OK(result)) {
- goto done;
- }
-
- /* Return output parameters */
-
- rpcstr_pull_unistr2_fstring(description , &r.desc);
- *lang_id_desc = r.lang_id;
-
- done:
-
- return result;
-}
-
/** Enumerate list of SIDs */
NTSTATUS rpccli_lsa_enum_sids(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
return True;
}
-void init_lsa_priv_get_dispname(LSA_Q_PRIV_GET_DISPNAME *trn, POLICY_HND *hnd, const char *name, uint16 lang_id, uint16 lang_id_sys)
-{
- memcpy(&trn->pol, hnd, sizeof(trn->pol));
-
- init_unistr2(&trn->name, name, UNI_FLAGS_NONE);
- init_uni_hdr(&trn->hdr_name, &trn->name);
- trn->lang_id = lang_id;
- trn->lang_id_sys = lang_id_sys;
-}
-
-/*******************************************************************
-reads or writes a structure.
-********************************************************************/
-bool lsa_io_q_priv_get_dispname(const char *desc, LSA_Q_PRIV_GET_DISPNAME *in, prs_struct *ps, int depth)
-{
- if (in == NULL)
- return False;
-
- prs_debug(ps, depth, desc, "lsa_io_q_priv_get_dispname");
- depth++;
-
- if(!prs_align(ps))
- return False;
-
- if (!smb_io_pol_hnd("", &in->pol, ps, depth))
- return False;
-
- if (!smb_io_unihdr("hdr_name", &in->hdr_name, ps, depth))
- return False;
-
- if (!smb_io_unistr2("name", &in->name, in->hdr_name.buffer, ps, depth))
- return False;
-
- if(!prs_uint16("lang_id ", ps, depth, &in->lang_id))
- return False;
- if(!prs_uint16("lang_id_sys", ps, depth, &in->lang_id_sys))
- return False;
-
- return True;
-}
-
-/*******************************************************************
-reads or writes a structure.
-********************************************************************/
-bool lsa_io_r_priv_get_dispname(const char *desc, LSA_R_PRIV_GET_DISPNAME *out, prs_struct *ps, int depth)
-{
- if (out == NULL)
- return False;
-
- prs_debug(ps, depth, desc, "lsa_io_r_priv_get_dispname");
- depth++;
-
- if (!prs_align(ps))
- return False;
-
- if (!prs_uint32("ptr_info", ps, depth, &out->ptr_info))
- return False;
-
- if (out->ptr_info){
- if (!smb_io_unihdr("hdr_name", &out->hdr_desc, ps, depth))
- return False;
-
- if (!smb_io_unistr2("desc", &out->desc, out->hdr_desc.buffer, ps, depth))
- return False;
- }
-/*
- if(!prs_align(ps))
- return False;
-*/
- if(!prs_uint16("lang_id", ps, depth, &out->lang_id))
- return False;
-
- if(!prs_align(ps))
- return False;
- if(!prs_ntstatus("status", ps, depth, &out->status))
- return False;
-
- return True;
-}
-
/*
initialise a LSA_Q_ENUM_ACCOUNTS structure
*/