unixinfo.idl
Stefan (metze) Metzmacher
metze at samba.org
Wed May 18 13:51:53 GMT 2005
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Volker Lendecke schrieb:
> Hi!
>
> As per metze's request, here is my current unixinfo idl. It needs changing,
> for speed reasons i want the getpwuid operation to take an array of uid's and
> give back the corresponding array of records. Maybe someone can help me
> getting the correct idl syntax for this?
>
> BTW, this is for winbind retrieving the id map from a samba DC so that you
> don't need nss_ldap and/or idmap_ldap anymore.
>
> Thanks,
>
> Volker
>
> /******************/
> /* Function: 0x04 */
> NTSTATUS unixinfo_GetPWUid (
> [in] hyper uid,
> [out] utf8string gecos,
> [out] utf8string homedir,
> [out] utf8string shell
> );
> }
you should maybe use something like this:
typedef struct {
uint32 count;
[size_is(count)] hyper uids[];
} unixinfo_GetPWUidRequest1;
typedef [switch_type(int32)] union {
[case(1)] unixinfo_GetPWUidRequest1 req1;
} unixinfo_GetPWUidRequest;
typedef struct {
utf8string gecos;
utf8string homedir;
utf8string shell;
} unixinfo_GetPWUidInfo1;
typedef struct {
uint32 count;
[size_is(count)] unixinfo_GetPWUidInfo1 infos[];
} unixinfo_GetPWUidReply1;
typedef [switch_type(int32)] union {
[case(1)] unixinfo_GetPWUidReply1 req1;
} unixinfo_GetPWUidReply;
NTSTATUS unixinfo_GetPWUid (
[in,out] int32 level,
[in,switch_is(level)] unixinfo_GetPWUidRequest req,
[out,switch_is(level)] unixinfo_GetPWUidReply rep
);
BTW: all functions should use this toplevel structure, to handle future updates and new info levels
also I think it would make sense to return the domain and account name too.
or maybe add another info level to get this info too
- --
metze
Stefan Metzmacher <metze at samba.org> www.samba.org
More information about the samba-technical
mailing list