4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 only,
8 * as published by the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License version 2 for more details (a copy is included
14 * in the LICENSE file that accompanied this code).
16 * You should have received a copy of the GNU General Public License
17 * version 2 along with this program; if not, write to the
18 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 * Boston, MA 021110-1307, USA
24 * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
25 * Use is subject to license terms.
27 * Copyright (c) 2014, Intel Corporation.
30 * This file is part of Lustre, http://www.lustre.org/
31 * Lustre is a trademark of Sun Microsystems, Inc.
33 * lustre/utils/gss/lsupport.h
36 #ifndef __LSUPPORT_H__
37 #define __LSUPPORT_H__
44 #include <libcfs/util/list.h>
45 #include <linux/lnet/lnet-types.h>
46 #include <linux/lnet/nidstr.h>
51 void gssd_init_unique(int type);
52 void gssd_exit_unique(int type);
55 * copied from lustre source
58 #define LUSTRE_GSS_SVC_MGS 0
59 #define LUSTRE_GSS_SVC_MDS 1
60 #define LUSTRE_GSS_SVC_OSS 2
62 #define LUSTRE_GSS_SVC_MASK 0x0000FFFF
63 #define LUSTRE_GSS_MECH_MASK 0xFFFF0000
64 #define LUSTRE_GSS_MECH_SHIFT 16
66 extern const char * lustre_svc_name[];
76 LGSS_ROOT_CRED_ROOT = 0x01,
77 LGSS_ROOT_CRED_MDT = 0x02,
78 LGSS_ROOT_CRED_OST = 0x04,
79 /* service type flags */
84 /* Number of sec part flags */
85 LGSS_ROOT_CRED_NR = 3,
88 struct lgssd_upcall_data {
97 #define GSSD_INTERFACE_VERSION GSSD_INTERFACE_VERSION_V2
98 #define GSSD_INTERFACE_VERSION_V2 (2)
99 #define GSSD_INTERFACE_VERSION_V1 (1)
101 struct lgssd_ioctl_param {
102 int version; /* in */
105 int lustre_svc; /* in */
108 long send_token_size;/* in */
109 char *send_token; /* in */
110 long reply_buf_size; /* in */
111 char *reply_buf; /* in */
112 long status; /* out */
113 long reply_length; /* out */
116 #define GSSD_DEFAULT_GETHOSTNAME_EX "/etc/lustre/nid2hostname"
117 #define MAPPING_DATABASE_FILE "/etc/lustre/idmap.conf"
119 int lnet_nid2hostname(lnet_nid_t nid, char *buf, int buflen);
120 void cleanup_mapping(void);
121 int lookup_mapping(char *princ, lnet_nid_t nid, uid_t *uid);
123 #endif /* __LSUPPORT_H__ */