From 8693a4fff95f2fa1f9c3b93429101c3b3d22218f Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 4 Jun 2012 15:32:28 +0200 Subject: s3:lib: split things into a conn_tdb.h metze Autobuild-User: Stefan Metzmacher Autobuild-Date: Tue Jun 5 19:28:35 CEST 2012 on sn-devel-104 --- source3/lib/conn_tdb.c | 1 + source3/lib/conn_tdb.h | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 source3/lib/conn_tdb.h (limited to 'source3/lib') diff --git a/source3/lib/conn_tdb.c b/source3/lib/conn_tdb.c index 9b0a07a56c..776f53ca79 100644 --- a/source3/lib/conn_tdb.c +++ b/source3/lib/conn_tdb.c @@ -23,6 +23,7 @@ #include "dbwrap/dbwrap.h" #include "dbwrap/dbwrap_open.h" #include "messages.h" +#include "lib/conn_tdb.h" static struct db_context *connections_db_ctx(bool rw) { diff --git a/source3/lib/conn_tdb.h b/source3/lib/conn_tdb.h new file mode 100644 index 0000000000..ee4befed16 --- /dev/null +++ b/source3/lib/conn_tdb.h @@ -0,0 +1,62 @@ +/* + Unix SMB/CIFS implementation. + Low-level connections.tdb access functions + Copyright (C) Volker Lendecke 2007 + + 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 . +*/ + +/* key and data in the connections database - used in smbstatus and smbd */ +struct connections_key { + struct server_id pid; + int cnum; + fstring name; +}; + +struct connections_data { + int magic; + struct server_id pid; + int cnum; + uid_t uid; + gid_t gid; + char servicename[FSTRING_LEN]; + char addr[24]; + char machine[FSTRING_LEN]; + time_t start; + + /* + * This field used to hold the msg_flags. For compatibility reasons, + * keep the data structure in the tdb file the same. + */ + uint32 unused_compatitibility_field; +}; + +/* The following definitions come from lib/conn_tdb.c */ + +struct db_record *connections_fetch_entry(TALLOC_CTX *mem_ctx, + connection_struct *conn, + const char *name); +int connections_traverse(int (*fn)(struct db_record *rec, + void *private_data), + void *private_data); +int connections_forall(int (*fn)(struct db_record *rec, + const struct connections_key *key, + const struct connections_data *data, + void *private_data), + void *private_data); +int connections_forall_read(int (*fn)(const struct connections_key *key, + const struct connections_data *data, + void *private_data), + void *private_data); +bool connections_init(bool rw); -- cgit