1 /*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 *
25 * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
26 */
27
28 #ifndef _MLSVC_LLSR_NDL_
29 #define _MLSVC_LLSR_NDL_
30
31 /*
32 * LLSRPC interface.
33 *
34 * 0x50 takes the 3a handle + DWORD, returns 2 DWORDs
35 * 0x3c
36 * 0x3f list of services?
37 * 0x3d unknown
38 * 0x3e unknown
39 * 0x4f
40 * 0x4d
41 * 0x4e
42 * 0x01 closes the handle obtained via 0x00
43 * 0x3b closes the handle obtained via 0x3a
44 */
45
46 #include <libmlrpc/ndrtypes.ndl>
47
48 #define LLSR_OPNUM_Open 0x00
49 #define LLSR_OPNUM_Close 0x01
50 #define LLSR_OPNUM_Connect 0x3a
51 #define LLSR_OPNUM_Disconnect 0x3b
52 #define LLSR_OPNUM_Unknown3c 0x3c
53 #define LLSR_OPNUM_Unknown3d 0x3d
54 #define LLSR_OPNUM_Unknown3e 0x3e
55 #define LLSR_OPNUM_Unknown3f 0x3f
56 #define LLSR_OPNUM_Unknown4d 0x4d
57 #define LLSR_OPNUM_Unknown4e 0x4e
58 #define LLSR_OPNUM_Unknown4f 0x4f
59 #define LLSR_OPNUM_Unknown50 0x50
60
61
62 CONTEXT_HANDLE(llsr_handle) llsr_handle_t;
63
64
65 OPERATION(LLSR_OPNUM_Open)
66 struct llsr_Open {
67 IN LPTSTR hostname;
68 OUT llsr_handle_t open_handle;
69 OUT DWORD status;
70 };
71
72
73 OPERATION(LLSR_OPNUM_Close)
74 struct llsr_Close {
75 IN llsr_handle_t open_handle;
76 OUT DWORD status;
77 };
78
79
80 OPERATION(LLSR_OPNUM_Connect)
81 struct llsr_Connect {
82 IN LPTSTR hostname;
83 OUT llsr_handle_t connect_handle;
84 OUT DWORD status;
85 };
86
87
88 OPERATION(LLSR_OPNUM_Disconnect)
89 struct llsr_Disconnect {
90 IN llsr_handle_t connect_handle;
91 OUT llsr_handle_t echoed_handle;
92 OUT DWORD status;
93 };
94
95
96 OPERATION(LLSR_OPNUM_Unknown50)
97 struct llsr_Unknown50 {
98 IN llsr_handle_t open_handle;
99 IN DWORD unknown1; /* 0x00000004 */
100 OUT DWORD unknown2; /* 0x00000004 */
101 OUT DWORD unknown3; /* 0x0000003F */
102 OUT DWORD status;
103 };
104
105
106 #endif /* _MLSVC_LLSR_NDL_ */