kcm.h revision 178826
126997Sgibbs/*
226997Sgibbs * Copyright (c) 2005, PADL Software Pty Ltd.
313177Sgibbs * All rights reserved.
442652Sgibbs *
526997Sgibbs * Redistribution and use in source and binary forms, with or without
613177Sgibbs * modification, are permitted provided that the following conditions
726997Sgibbs * are met:
826997Sgibbs *
926997Sgibbs * 1. Redistributions of source code must retain the above copyright
1026997Sgibbs *    notice, this list of conditions and the following disclaimer.
1126997Sgibbs *
1226997Sgibbs * 2. Redistributions in binary form must reproduce the above copyright
1339220Sgibbs *    notice, this list of conditions and the following disclaimer in the
1426997Sgibbs *    documentation and/or other materials provided with the distribution.
1513177Sgibbs *
1626997Sgibbs * 3. Neither the name of PADL Software nor the names of its contributors
1739220Sgibbs *    may be used to endorse or promote products derived from this software
1826997Sgibbs *    without specific prior written permission.
1926997Sgibbs *
2026997Sgibbs * THIS SOFTWARE IS PROVIDED BY PADL SOFTWARE AND CONTRIBUTORS ``AS IS'' AND
2126997Sgibbs * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2213177Sgibbs * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2326997Sgibbs * ARE DISCLAIMED.  IN NO EVENT SHALL PADL SOFTWARE OR CONTRIBUTORS BE LIABLE
2426997Sgibbs * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2526997Sgibbs * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2626997Sgibbs * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2726997Sgibbs * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2826997Sgibbs * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2926997Sgibbs * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3026997Sgibbs * SUCH DAMAGE.
3126997Sgibbs */
3226997Sgibbs
3326997Sgibbs#ifndef __KCM_H__
3413177Sgibbs#define __KCM_H__
3543880Sgibbs
3626997Sgibbs/*
374568Sgibbs * KCM protocol definitions
3823925Sgibbs */
3939220Sgibbs
405647Sgibbs#define KCM_PROTOCOL_VERSION_MAJOR	1
4113177Sgibbs#define KCM_PROTOCOL_VERSION_MINOR	0
4219164Sgibbs
4319164Sgibbstypedef enum kcm_operation {
4413690Sgibbs    KCM_OP_NOOP,
4513690Sgibbs    KCM_OP_GET_NAME,
4613690Sgibbs    KCM_OP_RESOLVE,
4713690Sgibbs    KCM_OP_GEN_NEW,
4813690Sgibbs    KCM_OP_INITIALIZE,
4913690Sgibbs    KCM_OP_DESTROY,
5013690Sgibbs    KCM_OP_STORE,
5113690Sgibbs    KCM_OP_RETRIEVE,
5219164Sgibbs    KCM_OP_GET_PRINCIPAL,
5319164Sgibbs    KCM_OP_GET_FIRST,
5419164Sgibbs    KCM_OP_GET_NEXT,
5519164Sgibbs    KCM_OP_END_GET,
5619164Sgibbs    KCM_OP_REMOVE_CRED,
5713177Sgibbs    KCM_OP_SET_FLAGS,
584568Sgibbs    KCM_OP_CHOWN,
5914449Sgibbs    KCM_OP_CHMOD,
6023925Sgibbs    KCM_OP_GET_INITIAL_TICKET,
6141646Sgibbs    KCM_OP_GET_TICKET,
6223925Sgibbs    KCM_OP_MAX
6341816Sgibbs} kcm_operation;
6439220Sgibbs
6539220Sgibbs#define _PATH_KCM_SOCKET      "/var/run/.kcm_socket"
6639220Sgibbs#define _PATH_KCM_DOOR      "/var/run/.kcm_door"
6739220Sgibbs
6839220Sgibbs#endif /* __KCM_H__ */
6939220Sgibbs
7039220Sgibbs