xref: /illumos-gate/usr/src/uts/common/smbsrv/ndl/llsrpc.ndl (revision 66582b606a8194f7f3ba5b3a3a6dca5b0d346361)
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
62CONTEXT_HANDLE(llsr_handle) llsr_handle_t;
63
64
65OPERATION(LLSR_OPNUM_Open)
66struct llsr_Open {
67	IN	LPTSTR hostname;
68	OUT	llsr_handle_t open_handle;
69	OUT	DWORD status;
70};
71
72
73OPERATION(LLSR_OPNUM_Close)
74struct llsr_Close {
75	IN	llsr_handle_t open_handle;
76	OUT	DWORD status;
77};
78
79
80OPERATION(LLSR_OPNUM_Connect)
81struct llsr_Connect {
82	IN	LPTSTR hostname;
83	OUT	llsr_handle_t connect_handle;
84	OUT	DWORD status;
85};
86
87
88OPERATION(LLSR_OPNUM_Disconnect)
89struct llsr_Disconnect {
90	IN	llsr_handle_t connect_handle;
91	OUT	llsr_handle_t echoed_handle;
92	OUT	DWORD status;
93};
94
95
96OPERATION(LLSR_OPNUM_Unknown50)
97struct 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_ */
107