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