1/*-
2 * Copyright (c) 2008 Isilon Inc http://www.isilon.com/
3 * Authors: Doug Rabson <dfr@rabson.org>
4 * Developed with Red Inc: Alfred Perlstein <alfred@freebsd.org>
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 *    notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 *    notice, this list of conditions and the following disclaimer in the
13 *    documentation and/or other materials provided with the distribution.
14 *
15 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 */
27
28/* Modified from gssd.x for the server side of RPC-over-TLS. */
29
30/* $FreeBSD$ */
31
32struct rpctlssd_connect_res {
33	uint32_t flags;
34	uint64_t sec;
35	uint64_t usec;
36	uint64_t ssl;
37	uint32_t uid;
38	uint32_t gid<>;
39};
40
41struct rpctlssd_handlerecord_arg {
42	uint64_t sec;
43	uint64_t usec;
44	uint64_t ssl;
45};
46
47struct rpctlssd_handlerecord_res {
48	uint32_t reterr;
49};
50
51struct rpctlssd_disconnect_arg {
52	uint64_t sec;
53	uint64_t usec;
54	uint64_t ssl;
55};
56
57struct rpctlssd_disconnect_res {
58	uint32_t reterr;
59};
60
61program RPCTLSSD {
62	version RPCTLSSDVERS {
63		void RPCTLSSD_NULL(void) = 0;
64
65		rpctlssd_connect_res
66		RPCTLSSD_CONNECT(void) = 1;
67
68		rpctlssd_handlerecord_res
69		RPCTLSSD_HANDLERECORD(rpctlssd_handlerecord_arg) = 2;
70
71		rpctlssd_disconnect_res
72		RPCTLSSD_DISCONNECT(rpctlssd_disconnect_arg) = 3;
73	} = 1;
74} = 0x40677375;
75