1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00

r11781: rename tree to tcons to match the sessions substructure of smbsrv_connection

metze
This commit is contained in:
Stefan Metzmacher 2005-11-18 12:20:16 +00:00 committed by Gerald (Jerry) Carter
parent c0288aa8cd
commit acd3e644e0
6 changed files with 35 additions and 35 deletions

View File

@ -66,7 +66,7 @@
******************************************************/
typedef [v1_enum] enum {
SMBSRV_INFO_SESSIONS,
SMBSRV_INFO_TREES
SMBSRV_INFO_TCONS
} smbsrv_info_level;
typedef struct {
@ -87,16 +87,16 @@
astring share_name;
astring client_ip;
NTTIME connect_time;
} smbsrv_tree_info;
} smbsrv_tcon_info;
typedef struct {
uint32 num_trees;
[size_is(num_trees)] smbsrv_tree_info *trees;
} smbsrv_trees;
uint32 num_tcons;
[size_is(num_tcons)] smbsrv_tcon_info *tcons;
} smbsrv_tcons;
typedef union {
[case(SMBSRV_INFO_SESSIONS)] smbsrv_sessions sessions;
[case(SMBSRV_INFO_TREES)] smbsrv_trees trees;
[case(SMBSRV_INFO_TCONS)] smbsrv_tcons tcons;
} smbsrv_info;
void smbsrv_information(

View File

@ -39,7 +39,7 @@ function smbsrv_sessions()
/*
return a list of current tree connects
*/
function smbsrv_trees()
function smbsrv_tcons()
{
var irpc = irpc_init();
status = irpc.connect("smb_server");
@ -48,7 +48,7 @@ function smbsrv_trees()
}
var io = irpcObj();
io.input.level = irpc.SMBSRV_INFO_TREES;
io.input.level = irpc.SMBSRV_INFO_TCONS;
status = irpc.smbsrv_information(io);
if (status.is_ok != true) {
return undefined;
@ -57,10 +57,10 @@ function smbsrv_trees()
/* gather the results into a single array */
var i, count=0, ret = new Object();
for (i=0;i<io.results.length;i++) {
var trees = io.results[i].info.trees.trees;
var tcons = io.results[i].info.tcons.tcons;
var j;
for (j=0;j<trees.length;j++) {
ret[count] = trees[j];
for (j=0;j<tcons.length;j++) {
ret[count] = tcons[j];
count++;
}
}

View File

@ -31,8 +31,8 @@ init the tcon structures
****************************************************************************/
NTSTATUS smbsrv_init_tcons(struct smbsrv_connection *smb_conn)
{
smb_conn->tree.idtree_tid = idr_init(smb_conn);
NT_STATUS_HAVE_NO_MEMORY(smb_conn->tree.idtree_tid);
smb_conn->tcons.idtree_tid = idr_init(smb_conn);
NT_STATUS_HAVE_NO_MEMORY(smb_conn->tcons.idtree_tid);
return NT_STATUS_OK;
}
@ -41,7 +41,7 @@ find a tcon given a cnum
****************************************************************************/
struct smbsrv_tcon *smbsrv_tcon_find(struct smbsrv_connection *smb_conn, uint_t tid)
{
return idr_find(smb_conn->tree.idtree_tid, tid);
return idr_find(smb_conn->tcons.idtree_tid, tid);
}
/*
@ -59,8 +59,8 @@ static int smbsrv_tcon_destructor(void *ptr)
/* tell the ntvfs backend that we are disconnecting */
ntvfs_disconnect(tcon);
idr_remove(tcon->smb_conn->tree.idtree_tid, tcon->tid);
DLIST_REMOVE(tcon->smb_conn->tree.tcons, tcon);
idr_remove(tcon->smb_conn->tcons.idtree_tid, tcon->tid);
DLIST_REMOVE(tcon->smb_conn->tcons.list, tcon);
return 0;
}
@ -75,7 +75,7 @@ struct smbsrv_tcon *smbsrv_tcon_new(struct smbsrv_connection *smb_conn)
tcon = talloc_zero(smb_conn, struct smbsrv_tcon);
if (!tcon) return NULL;
i = idr_get_new_random(smb_conn->tree.idtree_tid, tcon, UINT16_MAX);
i = idr_get_new_random(smb_conn->tcons.idtree_tid, tcon, UINT16_MAX);
if (i == -1) {
DEBUG(1,("ERROR! Out of connection structures\n"));
return NULL;
@ -87,7 +87,7 @@ struct smbsrv_tcon *smbsrv_tcon_new(struct smbsrv_connection *smb_conn)
talloc_set_destructor(tcon, smbsrv_tcon_destructor);
DLIST_ADD(smb_conn->tree.tcons, tcon);
DLIST_ADD(smb_conn->tcons.list, tcon);
return tcon;
}

View File

@ -62,30 +62,30 @@ static NTSTATUS smbsrv_session_information(struct irpc_message *msg,
/*
return a list of tree connects
*/
static NTSTATUS smbsrv_tree_information(struct irpc_message *msg,
struct smbsrv_information *r)
static NTSTATUS smbsrv_tcon_information(struct irpc_message *msg,
struct smbsrv_information *r)
{
struct smbsrv_connection *smb_conn = talloc_get_type(msg->private, struct smbsrv_connection);
int i=0, count=0;
struct smbsrv_tcon *tcon;
/* count the number of tcons */
for (tcon=smb_conn->tree.tcons; tcon; tcon=tcon->next) {
for (tcon=smb_conn->tcons.list; tcon; tcon=tcon->next) {
count++;
}
r->out.info.trees.num_trees = count;
r->out.info.trees.trees = talloc_array(r, struct smbsrv_tree_info, count);
NT_STATUS_HAVE_NO_MEMORY(r->out.info.trees.trees);
r->out.info.tcons.num_tcons = count;
r->out.info.tcons.tcons = talloc_array(r, struct smbsrv_tcon_info, count);
NT_STATUS_HAVE_NO_MEMORY(r->out.info.tcons.tcons);
for (tcon=smb_conn->tree.tcons; tcon; tcon=tcon->next) {
struct smbsrv_tree_info *info = &r->out.info.trees.trees[i];
for (tcon=smb_conn->tcons.list; tcon; tcon=tcon->next) {
struct smbsrv_tcon_info *info = &r->out.info.tcons.tcons[i];
info->tid = tcon->tid;
info->share_name = lp_servicename(tcon->service);
info->connect_time = timeval_to_nttime(&tcon->connect_time);
info->client_ip = socket_get_peer_addr(smb_conn->connection->socket, r);
i++;
}
}
return NT_STATUS_OK;
}
@ -99,8 +99,8 @@ static NTSTATUS smbsrv_information(struct irpc_message *msg,
switch (r->in.level) {
case SMBSRV_INFO_SESSIONS:
return smbsrv_session_information(msg, r);
case SMBSRV_INFO_TREES:
return smbsrv_tree_information(msg, r);
case SMBSRV_INFO_TCONS:
return smbsrv_tcon_information(msg, r);
}
return NT_STATUS_OK;

View File

@ -1200,7 +1200,7 @@ void reply_exit(struct smbsrv_request *req)
struct smbsrv_tcon *tcon;
REQ_CHECK_WCT(req, 0);
for (tcon=req->smb_conn->tree.tcons;tcon;tcon=tcon->next) {
for (tcon=req->smb_conn->tcons.list;tcon;tcon=tcon->next) {
req->tcon = tcon;
status = ntvfs_exit(req);
req->tcon = NULL;
@ -2181,7 +2181,7 @@ void reply_ulogoffX(struct smbsrv_request *req)
/* in user level security we are supposed to close any files
open by this user on all open tree connects */
for (tcon=req->smb_conn->tree.tcons;tcon;tcon=tcon->next) {
for (tcon=req->smb_conn->tcons.list;tcon;tcon=tcon->next) {
req->tcon = tcon;
status = ntvfs_logoff(req);
req->tcon = NULL;

View File

@ -222,12 +222,12 @@ struct smbsrv_connection {
/* the context associated with open tree connects on a smb socket */
struct {
/* list of open tree connects */
struct smbsrv_tcon *tcons;
/* an id tree used to allocate tids */
struct idr_context *idtree_tid;
} tree;
/* list of open tree connects */
struct smbsrv_tcon *list;
} tcons;
/* context associated with currently valid session setups */
struct {