[GLUE] Rsync SAMBA_3_0 SVN r25598 in order to create the v3-0-test branch.
[Samba.git] / source / include / rpc_ntsvcs.h
blob947794bba11eb0a51fe4b31e602b5e2f981bbd5a
1 /*
2 Unix SMB/CIFS implementation.
3 SMB parameters and setup
4 Copyright (C) Gerald (Jerry) Carter 2005
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 #ifndef _RPC_NTSVCS_H /* _RPC_NTSVCS_H */
22 #define _RPC_NTSVCS_H
24 /* ntsvcs pipe */
26 #define NTSVCS_GET_VERSION 0x02
27 #define NTSVCS_VALIDATE_DEVICE_INSTANCE 0x06
28 #define NTSVCS_GET_ROOT_DEVICE_INSTANCE 0x07
29 #define NTSVCS_GET_DEVICE_LIST 0x0a
30 #define NTSVCS_GET_DEVICE_LIST_SIZE 0x0b
31 #define NTSVCS_GET_DEVICE_REG_PROPERTY 0x0d
32 #define NTSVCS_HW_PROFILE_FLAGS 0x28
33 #define NTSVCS_GET_HW_PROFILE_INFO 0x29
34 #define NTSVCS_GET_VERSION_INTERNAL 0x3e
37 /**************************/
39 typedef struct {
40 /* nothing in the request */
41 uint32 dummy;
42 } NTSVCS_Q_GET_VERSION;
44 typedef struct {
45 uint32 version;
46 WERROR status;
47 } NTSVCS_R_GET_VERSION;
50 /**************************/
52 typedef struct {
53 UNISTR2 *devicename;
54 uint32 flags;
55 } NTSVCS_Q_GET_DEVICE_LIST_SIZE;
57 typedef struct {
58 uint32 size;
59 WERROR status;
60 } NTSVCS_R_GET_DEVICE_LIST_SIZE;
63 /**************************/
65 typedef struct {
66 UNISTR2 *devicename;
67 uint32 buffer_size;
68 uint32 flags;
69 } NTSVCS_Q_GET_DEVICE_LIST;
71 typedef struct {
72 UNISTR2 devicepath;
73 uint32 needed;
74 WERROR status;
75 } NTSVCS_R_GET_DEVICE_LIST;
77 /**************************/
79 typedef struct {
80 UNISTR2 devicepath;
81 uint32 flags;
82 } NTSVCS_Q_VALIDATE_DEVICE_INSTANCE;
84 typedef struct {
85 WERROR status;
86 } NTSVCS_R_VALIDATE_DEVICE_INSTANCE;
88 /**************************/
90 #define DEV_REGPROP_DESC 1
92 typedef struct {
93 UNISTR2 devicepath;
94 uint32 property;
95 uint32 unknown2;
96 uint32 buffer_size1;
97 uint32 buffer_size2;
98 uint32 unknown5;
99 } NTSVCS_Q_GET_DEVICE_REG_PROPERTY;
101 typedef struct {
102 uint32 unknown1;
103 REGVAL_BUFFER value;
104 uint32 size;
105 uint32 needed;
106 WERROR status;
107 } NTSVCS_R_GET_DEVICE_REG_PROPERTY;
110 /**************************/
112 typedef struct {
113 uint32 index;
114 uint8 *buffer;
115 uint32 buffer_size;
116 uint32 unknown1;
117 } NTSVCS_Q_GET_HW_PROFILE_INFO;
119 typedef struct {
120 uint32 buffer_size; /* the size (not included in the reply)
121 if just matched from the request */
122 uint8 *buffer;
123 WERROR status;
124 } NTSVCS_R_GET_HW_PROFILE_INFO;
127 /**************************/
129 typedef struct {
130 uint32 unknown1;
131 UNISTR2 devicepath;
132 uint32 unknown2;
133 uint32 unknown3;
134 uint32 unknown4;
135 uint32 unknown5;
136 uint32 unknown6;
137 uint32 unknown7;
138 } NTSVCS_Q_HW_PROFILE_FLAGS;
140 typedef struct {
141 uint32 unknown1;
142 uint32 unknown2;
143 uint32 unknown3;
144 WERROR status;
145 } NTSVCS_R_HW_PROFILE_FLAGS;
147 #endif /* _RPC_NTSVCS_H */