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