diff options
author | Andrew Bartlett <abartlet@samba.org> | 2011-02-11 18:45:32 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2011-03-01 06:29:03 +0100 |
commit | 646aefd998c1af366dcaee6cbc2bad9359a71f45 (patch) | |
tree | b71bd352a33c5552800b8e90e0ec7458540cf424 /pidl | |
parent | 9900aa4fb40321de3d78d499ac5694541db39af0 (diff) | |
download | samba-646aefd998c1af366dcaee6cbc2bad9359a71f45.tar.gz samba-646aefd998c1af366dcaee6cbc2bad9359a71f45.tar.bz2 samba-646aefd998c1af366dcaee6cbc2bad9359a71f45.zip |
pidl Add support for uid_t and gid_t types
These are mapped to uint64_t, which should be big enough. This is
proposed to be used for internal Samba representations, where it would
be more painful to convert all the callers to an uint64_t calling
convention.
Andrew Bartlett
Diffstat (limited to 'pidl')
-rw-r--r-- | pidl/lib/Parse/Pidl/NDR.pm | 2 | ||||
-rw-r--r-- | pidl/lib/Parse/Pidl/Samba4/Python.pm | 4 | ||||
-rw-r--r-- | pidl/lib/Parse/Pidl/Typelist.pm | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/pidl/lib/Parse/Pidl/NDR.pm b/pidl/lib/Parse/Pidl/NDR.pm index 3edb9b732f..5ade5c175a 100644 --- a/pidl/lib/Parse/Pidl/NDR.pm +++ b/pidl/lib/Parse/Pidl/NDR.pm @@ -66,6 +66,8 @@ my $scalar_alignment = { 'string' => 4, 'string_array' => 4, #??? 'time_t' => 4, + 'uid_t' => 8, + 'gid_t' => 8, 'NTTIME' => 4, 'NTTIME_1sec' => 4, 'NTTIME_hyper' => 8, diff --git a/pidl/lib/Parse/Pidl/Samba4/Python.pm b/pidl/lib/Parse/Pidl/Samba4/Python.pm index 7f6f94e748..dfacfb3352 100644 --- a/pidl/lib/Parse/Pidl/Samba4/Python.pm +++ b/pidl/lib/Parse/Pidl/Samba4/Python.pm @@ -895,7 +895,7 @@ sub ConvertObjectFromPythonData($$$$$$;$) $self->pidl("}"); return; } - if (expandAlias($actual_ctype->{NAME}) =~ /^(char|u?int[0-9]*|time_t)$/) { + if (expandAlias($actual_ctype->{NAME}) =~ /^(char|u?int[0-9]*|time_t|uid_t|gid_t)$/) { $self->pidl("PY_CHECK_TYPE(&PyInt_Type, $cvar, $fail);"); $self->pidl("$target = PyInt_AsLong($cvar);"); return; @@ -1103,7 +1103,7 @@ sub ConvertScalarToPython($$$) return "PyLong_FromLongLong($cvar)"; } - if ($ctypename =~ /^(char|u?int[0-9]*|time_t)$/) { + if ($ctypename =~ /^(char|u?int[0-9]*|time_t|uid_t|gid_t)$/) { return "PyInt_FromLong($cvar)"; } diff --git a/pidl/lib/Parse/Pidl/Typelist.pm b/pidl/lib/Parse/Pidl/Typelist.pm index a89b1a74eb..307187b4f4 100644 --- a/pidl/lib/Parse/Pidl/Typelist.pm +++ b/pidl/lib/Parse/Pidl/Typelist.pm @@ -48,6 +48,8 @@ my %scalars = ( "string" => "const char *", "string_array" => "const char **", "time_t" => "time_t", + "uid_t" => "uid_t", + "gid_t" => "gid_t", "NTTIME" => "NTTIME", "NTTIME_1sec" => "NTTIME", "NTTIME_hyper" => "NTTIME", |