kcm.h revision 178826
1130561Sobrien/*
2130561Sobrien * Copyright (c) 2005, PADL Software Pty Ltd.
3130561Sobrien * All rights reserved.
4130561Sobrien *
5130561Sobrien * Redistribution and use in source and binary forms, with or without
6130561Sobrien * modification, are permitted provided that the following conditions
7130561Sobrien * are met:
8130561Sobrien *
9130561Sobrien * 1. Redistributions of source code must retain the above copyright
10130561Sobrien *    notice, this list of conditions and the following disclaimer.
11130561Sobrien *
12130561Sobrien * 2. Redistributions in binary form must reproduce the above copyright
13130561Sobrien *    notice, this list of conditions and the following disclaimer in the
14130561Sobrien *    documentation and/or other materials provided with the distribution.
15130561Sobrien *
16130561Sobrien * 3. Neither the name of PADL Software nor the names of its contributors
17218822Sdim *    may be used to endorse or promote products derived from this software
18130561Sobrien *    without specific prior written permission.
19130561Sobrien *
20130561Sobrien * THIS SOFTWARE IS PROVIDED BY PADL SOFTWARE AND CONTRIBUTORS ``AS IS'' AND
21130561Sobrien * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22130561Sobrien * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23130561Sobrien * ARE DISCLAIMED.  IN NO EVENT SHALL PADL SOFTWARE OR CONTRIBUTORS BE LIABLE
24130561Sobrien * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25130561Sobrien * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26130561Sobrien * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27130561Sobrien * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28130561Sobrien * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29130561Sobrien * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30130561Sobrien * SUCH DAMAGE.
31130561Sobrien */
32218822Sdim
33218822Sdim#ifndef __KCM_H__
34130561Sobrien#define __KCM_H__
35218822Sdim
36218822Sdim/*
37218822Sdim * KCM protocol definitions
38218822Sdim */
39218822Sdim
40218822Sdim#define KCM_PROTOCOL_VERSION_MAJOR	1
41130561Sobrien#define KCM_PROTOCOL_VERSION_MINOR	0
42130561Sobrien
43130561Sobrientypedef enum kcm_operation {
44130561Sobrien    KCM_OP_NOOP,
45130561Sobrien    KCM_OP_GET_NAME,
46130561Sobrien    KCM_OP_RESOLVE,
47130561Sobrien    KCM_OP_GEN_NEW,
48130561Sobrien    KCM_OP_INITIALIZE,
49130561Sobrien    KCM_OP_DESTROY,
50130561Sobrien    KCM_OP_STORE,
51130561Sobrien    KCM_OP_RETRIEVE,
52130561Sobrien    KCM_OP_GET_PRINCIPAL,
53130561Sobrien    KCM_OP_GET_FIRST,
54130561Sobrien    KCM_OP_GET_NEXT,
55130561Sobrien    KCM_OP_END_GET,
56130561Sobrien    KCM_OP_REMOVE_CRED,
57130561Sobrien    KCM_OP_SET_FLAGS,
58130561Sobrien    KCM_OP_CHOWN,
59130561Sobrien    KCM_OP_CHMOD,
60130561Sobrien    KCM_OP_GET_INITIAL_TICKET,
61130561Sobrien    KCM_OP_GET_TICKET,
62130561Sobrien    KCM_OP_MAX
63130561Sobrien} kcm_operation;
64130561Sobrien
65130561Sobrien#define _PATH_KCM_SOCKET      "/var/run/.kcm_socket"
66130561Sobrien#define _PATH_KCM_DOOR      "/var/run/.kcm_door"
67130561Sobrien
68130561Sobrien#endif /* __KCM_H__ */
69130561Sobrien
70130561Sobrien