From 8d182d881d189e9855165b3a423f2d545a97fae8 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Fri, 31 Aug 2007 00:31:32 +0000 Subject: [PATCH] r24816: Move the rest of the contents of core.h to more appropriate places. include/ now only contains build system related headers, all other headers are now near the source code they're related to. (This used to be commit 6890a01dbfc6d8041a88ef5c6be52dfcd046fe80) --- source4/include/core.h | 69 -------------------- source4/include/includes.h | 5 +- source4/libcli/libcli.h | 11 ++++ source4/librpc/idl/security.idl | 16 +++++ source4/ntvfs/common/brlock.h | 2 + source4/param/loadparm.h | 1 + source4/param/param.h | 15 +++++ source4/pidl/lib/Parse/Pidl/Samba4/Header.pm | 4 +- source4/pidl/lib/Parse/Pidl/Util.pm | 15 ++++- source4/pidl/tests/util.pl | 5 +- source4/torture/locktest.c | 2 +- 11 files changed, 69 insertions(+), 76 deletions(-) delete mode 100644 source4/include/core.h diff --git a/source4/include/core.h b/source4/include/core.h deleted file mode 100644 index 270b6406a4e..00000000000 --- a/source4/include/core.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - Unix SMB/CIFS implementation. - Core Samba data types - - Copyright (C) Andrew Tridgell 1992-2000 - Copyright (C) Stefan Metzmacher 2004 - Copyright (C) Jelmer Vernooij 2005 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -#ifndef _SAMBA_CORE_H -#define _SAMBA_CORE_H - -#include "libcli/util/nt_status.h" - -#include - -/* - use the same structure for dom_sid2 as dom_sid. A dom_sid2 is really - just a dom sid, but with the sub_auths represented as a conformant - array. As with all in-structure conformant arrays, the array length - is placed before the start of the structure. That's what gives rise - to the extra num_auths elemenent. We don't want the Samba code to - have to bother with such esoteric NDR details, so its easier to just - define it as a dom_sid and use pidl magic to make it all work. It - just means you need to mark a sid as a "dom_sid2" in the IDL when you - know it is of the conformant array variety -*/ -#define dom_sid2 dom_sid - -/* same struct as dom_sid but inside a 28 bytes fixed buffer in NDR */ -#define dom_sid28 dom_sid - - - -/* passed to br lock code. FIXME: Move to one of the smb-specific headers */ -enum brl_type { - READ_LOCK, - WRITE_LOCK, - PENDING_READ_LOCK, - PENDING_WRITE_LOCK -}; - -enum server_role { - ROLE_STANDALONE=0, - ROLE_DOMAIN_MEMBER=1, - ROLE_DOMAIN_CONTROLLER=2, -}; - -enum announce_as {/* Types of machine we can announce as. */ - ANNOUNCE_AS_NT_SERVER=1, - ANNOUNCE_AS_WIN95=2, - ANNOUNCE_AS_WFW=3, - ANNOUNCE_AS_NT_WORKSTATION=4 -}; - -#endif /* _SAMBA_CORE_H */ diff --git a/source4/include/includes.h b/source4/include/includes.h index d8503fe47ad..40cb306eb20 100644 --- a/source4/include/includes.h +++ b/source4/include/includes.h @@ -109,9 +109,10 @@ #endif /* Lists, trees, caching, database... */ -#include -#include "core.h" +#include #include +#include +#include "libcli/util/nt_status.h" #include "charset/charset.h" #include "util/util.h" #include "param/param.h" diff --git a/source4/libcli/libcli.h b/source4/libcli/libcli.h index 568f2f3b3e6..1d573cadded 100644 --- a/source4/libcli/libcli.h +++ b/source4/libcli/libcli.h @@ -50,6 +50,17 @@ struct nbt_dc_name { struct cli_credentials; struct event_context; + +/* passed to br lock code. */ +enum brl_type { + READ_LOCK, + WRITE_LOCK, + PENDING_READ_LOCK, + PENDING_WRITE_LOCK +}; + + + #include "libcli/raw/libcliraw.h" #include "libcli/libcli_proto.h" diff --git a/source4/librpc/idl/security.idl b/source4/librpc/idl/security.idl index ea2ad050d50..f05148aecc2 100644 --- a/source4/librpc/idl/security.idl +++ b/source4/librpc/idl/security.idl @@ -6,6 +6,22 @@ import "misc.idl"; +/* + use the same structure for dom_sid2 as dom_sid. A dom_sid2 is really + just a dom sid, but with the sub_auths represented as a conformant + array. As with all in-structure conformant arrays, the array length + is placed before the start of the structure. That's what gives rise + to the extra num_auths elemenent. We don't want the Samba code to + have to bother with such esoteric NDR details, so its easier to just + define it as a dom_sid and use pidl magic to make it all work. It + just means you need to mark a sid as a "dom_sid2" in the IDL when you + know it is of the conformant array variety +*/ +cpp_quote("#define dom_sid2 dom_sid") + +/* same struct as dom_sid but inside a 28 bytes fixed buffer in NDR */ +cpp_quote("#define dom_sid28 dom_sid") + [ pointer_default(unique) ] diff --git a/source4/ntvfs/common/brlock.h b/source4/ntvfs/common/brlock.h index 5a040dc2343..50f30ec2768 100644 --- a/source4/ntvfs/common/brlock.h +++ b/source4/ntvfs/common/brlock.h @@ -19,6 +19,8 @@ along with this program. If not, see . */ +#include "libcli/libcli.h" + struct brlock_ops { struct brl_context *(*brl_init)(TALLOC_CTX *, struct server_id , struct messaging_context *); diff --git a/source4/param/loadparm.h b/source4/param/loadparm.h index 93649af0c85..6b98ebe0182 100644 --- a/source4/param/loadparm.h +++ b/source4/param/loadparm.h @@ -78,3 +78,4 @@ struct parm_struct { #define HOMES_NAME "homes" #endif + diff --git a/source4/param/param.h b/source4/param/param.h index c829e0bf571..5f5da58388f 100644 --- a/source4/param/param.h +++ b/source4/param/param.h @@ -44,6 +44,21 @@ struct smbsrv_connection; typedef NTSTATUS (*init_module_fn) (void); +enum server_role { + ROLE_STANDALONE=0, + ROLE_DOMAIN_MEMBER=1, + ROLE_DOMAIN_CONTROLLER=2, +}; + +enum announce_as {/* Types of machine we can announce as. */ + ANNOUNCE_AS_NT_SERVER=1, + ANNOUNCE_AS_WIN95=2, + ANNOUNCE_AS_WFW=3, + ANNOUNCE_AS_NT_WORKSTATION=4 +}; + + + #include "param/proto.h" #endif /* _PARAM_H */ diff --git a/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm b/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm index 40fb1d35796..75d4c235cb4 100644 --- a/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm +++ b/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm @@ -9,7 +9,7 @@ package Parse::Pidl::Samba4::Header; use strict; use Parse::Pidl qw(fatal); use Parse::Pidl::Typelist qw(mapTypeName scalar_is_reference); -use Parse::Pidl::Util qw(has_property is_constant); +use Parse::Pidl::Util qw(has_property is_constant unmake_str); use Parse::Pidl::Samba4 qw(is_intree ElementStars ArrayBrackets); use vars qw($VERSION); @@ -375,7 +375,7 @@ sub HeaderQuote($) { my($quote) = shift; - pidl $quote->{DATA}; + pidl unmake_str($quote->{DATA}) . "\n"; } ##################################################################### diff --git a/source4/pidl/lib/Parse/Pidl/Util.pm b/source4/pidl/lib/Parse/Pidl/Util.pm index 8716094abd9..006718d139a 100644 --- a/source4/pidl/lib/Parse/Pidl/Util.pm +++ b/source4/pidl/lib/Parse/Pidl/Util.pm @@ -6,7 +6,7 @@ package Parse::Pidl::Util; require Exporter; @ISA = qw(Exporter); -@EXPORT = qw(has_property property_matches ParseExpr ParseExprExt is_constant make_str print_uuid MyDumper); +@EXPORT = qw(has_property property_matches ParseExpr ParseExprExt is_constant make_str unmake_str print_uuid MyDumper); use vars qw($VERSION); $VERSION = '0.01'; @@ -104,6 +104,19 @@ sub make_str($) return "\"$str\""; } +=item B +unquote a "" quoted string + +=cut +sub unmake_str($) +{ + my $str = shift; + + $str =~ s/^\"(.*)\"$/$1/; + + return $str; +} + =item B Print C representation of a UUID. diff --git a/source4/pidl/tests/util.pl b/source4/pidl/tests/util.pl index ba2f7b7b493..cb77f34c510 100755 --- a/source4/pidl/tests/util.pl +++ b/source4/pidl/tests/util.pl @@ -4,7 +4,7 @@ use strict; use warnings; -use Test::More tests => 70; +use Test::More tests => 72; use FindBin qw($RealBin); use lib "$RealBin"; use Util; @@ -33,6 +33,9 @@ is("\"\"bla\"\"", make_str("\"\"bla\"\"")); is("\"bla\"\"", make_str("bla\"")); is("\"foo\"bar\"", make_str("foo\"bar")); +is("bla", unmake_str("\"bla\"")); +is("\"bla\"", unmake_str("\"\"bla\"\"")); + # print_uuid() is(undef, print_uuid("invalid")); is("{0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xac}}", diff --git a/source4/torture/locktest.c b/source4/torture/locktest.c index cf178a084c5..ba0ba344d9b 100644 --- a/source4/torture/locktest.c +++ b/source4/torture/locktest.c @@ -191,7 +191,7 @@ static void reconnect(struct smbcli_state *cli[NSERVERS][NCONNECTIONS], int fnum -static BOOL test_one(struct smbcli_state *cli[NSERVERS][NCONNECTIONS], +static bool test_one(struct smbcli_state *cli[NSERVERS][NCONNECTIONS], int fnum[NSERVERS][NCONNECTIONS][NFILES], struct record *rec) { -- 2.34.1