1/*
2   Unix SMB/CIFS implementation.
3   NT Domain Authentication SMB / MSRPC client
4   Copyright (C) Andrew Tridgell 1994-1997
5   Copyright (C) Luke Kenneth Casson Leighton 1996-1997
6
7   This program is free software; you can redistribute it and/or modify
8   it under the terms of the GNU General Public License as published by
9   the Free Software Foundation; either version 2 of the License, or
10   (at your option) any later version.
11
12   This program is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   GNU General Public License for more details.
16
17   You should have received a copy of the GNU General Public License
18   along with this program; if not, write to the Free Software
19   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20*/
21
22#include "includes.h"
23
24#define DEBUG_TESTING
25
26extern struct cli_state *smb_cli;
27
28extern FILE* out_hnd;
29
30
31/****************************************************************************
32workstation get info query
33****************************************************************************/
34void cmd_wks_query_info(struct client_info *info)
35{
36	fstring dest_wks;
37	fstring tmp;
38	WKS_INFO_100 ctr;
39	uint32 info_level = 100;
40
41	BOOL res = True;
42
43	memset((char *)&ctr, '\0', sizeof(ctr));
44
45	fstrcpy(dest_wks, "\\\\");
46	fstrcat(dest_wks, info->dest_host);
47	strupper_m(dest_wks);
48
49	if (next_token_nr(NULL, tmp, NULL, sizeof(tmp)))
50	{
51		info_level = (uint32)strtol(tmp, (char**)NULL, 10);
52	}
53
54	DEBUG(4,("cmd_wks_query_info: server:%s info level: %d\n",
55				dest_wks, info_level));
56
57	DEBUG(5, ("cmd_wks_query_info: smb_cli->fd:%d\n", smb_cli->fd));
58
59	/* open LSARPC session. */
60	res = res ? cli_nt_session_open(smb_cli, PI_WKSSVC) : False;
61
62	/* send info level: receive requested info.  hopefully. */
63	res = res ? do_wks_query_info(smb_cli,
64				dest_wks, info_level, &ctr) : False;
65
66	/* close the session */
67	cli_nt_session_close(smb_cli);
68
69	if (res)
70	{
71		DEBUG(5,("cmd_wks_query_info: query succeeded\n"));
72
73#if 0
74		display_wks_info_100(out_hnd, ACTION_HEADER   , &ctr);
75		display_wks_info_100(out_hnd, ACTION_ENUMERATE, &ctr);
76		display_wks_info_100(out_hnd, ACTION_FOOTER   , &ctr);
77#endif
78
79	}
80	else
81	{
82		DEBUG(5,("cmd_wks_query_info: query failed\n"));
83	}
84}
85