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 2007 Sun Microsystems, Inc.  All rights reserved.
23 * Use is subject to license terms.
24 */
25
26#ifndef _MLSVC_LLSR_NDL_
27#define _MLSVC_LLSR_NDL_
28
29#pragma ident	"%Z%%M%	%I%	%E% SMI"
30
31
32/*
33 * LLSRPC interface.
34 *
35 *	0x50	takes the 3a handle + DWORD, returns 2 DWORDs
36 *	0x3c
37 *	0x3f	list of services?
38 *	0x3d	unknown
39 *	0x3e	unknown
40 *	0x4f
41 *	0x4d
42 *	0x4e
43 *	0x01	closes the handle obtained via 0x00
44 *	0x3b	closes the handle obtained via 0x3a
45 */
46
47#include "ndrtypes.ndl"
48
49#define LLSR_OPNUM_Open			0x00
50#define LLSR_OPNUM_Close		0x01
51#define LLSR_OPNUM_Connect		0x3a
52#define LLSR_OPNUM_Disconnect		0x3b
53#define LLSR_OPNUM_Unknown3c		0x3c
54#define LLSR_OPNUM_Unknown3d		0x3d
55#define LLSR_OPNUM_Unknown3e		0x3e
56#define LLSR_OPNUM_Unknown3f		0x3f
57#define LLSR_OPNUM_Unknown4d		0x4d
58#define LLSR_OPNUM_Unknown4e		0x4e
59#define LLSR_OPNUM_Unknown4f		0x4f
60#define LLSR_OPNUM_Unknown50		0x50
61
62
63struct llsr_handle {
64	DWORD opaque[5];
65};
66typedef struct llsr_handle llsr_handle_t;
67
68
69OPERATION(LLSR_OPNUM_Open)
70struct llsr_Open {
71	IN	LPTSTR hostname;
72	OUT	llsr_handle_t open_handle;
73	OUT	DWORD status;
74};
75
76
77OPERATION(LLSR_OPNUM_Close)
78struct llsr_Close {
79	IN	llsr_handle_t open_handle;
80	OUT	DWORD status;
81};
82
83
84OPERATION(LLSR_OPNUM_Connect)
85struct llsr_Connect {
86	IN	LPTSTR hostname;
87	OUT	llsr_handle_t connect_handle;
88	OUT	DWORD status;
89};
90
91
92OPERATION(LLSR_OPNUM_Disconnect)
93struct llsr_Disconnect {
94	IN	llsr_handle_t connect_handle;
95	OUT	llsr_handle_t echoed_handle;
96	OUT	DWORD status;
97};
98
99
100OPERATION(LLSR_OPNUM_Unknown50)
101struct llsr_Unknown50 {
102	IN	llsr_handle_t open_handle;
103	IN	DWORD unknown1;	/* 0x00000004 */
104	OUT	DWORD unknown2;	/* 0x00000004 */
105	OUT	DWORD unknown3;	/* 0x0000003F */
106	OUT	DWORD status;
107};
108
109
110#endif /* _MLSVC_LLSR_NDL_ */
111