1/* 2 * Unix SMB/CIFS implementation. 3 * RPC Pipe client / server routines 4 * Copyright (C) Andrew Tridgell 1992-1997, 5 * Copyright (C) Luke Kenneth Casson Leighton 1996-1997, 6 * Copyright (C) Paul Ashton 1997. 7 * Copyright (C) Jeremy Allison 2001. 8 * 9 * This program is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with this program; if not, write to the Free Software 21 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 22 */ 23 24/* This is the implementation of the wks interface. */ 25 26#include "includes.h" 27 28#undef DBGC_CLASS 29#define DBGC_CLASS DBGC_RPC_SRV 30 31/******************************************************************* 32 create_wks_info_100 33 ********************************************************************/ 34 35static void create_wks_info_100(WKS_INFO_100 *inf) 36{ 37 pstring my_name; 38 pstring domain; 39 40 DEBUG(5,("create_wks_info_100: %d\n", __LINE__)); 41 42 pstrcpy (my_name, global_myname()); 43 strupper_m(my_name); 44 45 pstrcpy (domain, lp_workgroup()); 46 strupper_m(domain); 47 48 init_wks_info_100(inf, 49 0x000001f4, /* platform id info */ 50 lp_major_announce_version(), 51 lp_minor_announce_version(), 52 my_name, domain); 53} 54 55/******************************************************************* 56 wks_reply_query_info 57 58 only supports info level 100 at the moment. 59 60 ********************************************************************/ 61 62NTSTATUS _wks_query_info(pipes_struct *p, WKS_Q_QUERY_INFO *q_u, WKS_R_QUERY_INFO *r_u) 63{ 64 WKS_INFO_100 *wks100 = NULL; 65 66 DEBUG(5,("_wks_query_info: %d\n", __LINE__)); 67 68 wks100 = TALLOC_ZERO_P(p->mem_ctx, WKS_INFO_100); 69 70 if (!wks100) 71 return NT_STATUS_NO_MEMORY; 72 73 create_wks_info_100(wks100); 74 init_wks_r_query_info(r_u, q_u->switch_value, wks100, NT_STATUS_OK); 75 76 DEBUG(5,("_wks_query_info: %d\n", __LINE__)); 77 78 return r_u->status; 79} 80