File: lcmaps_types.h

package info (click to toggle)
lcmaps 1.6.6-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 4,016 kB
  • ctags: 1,428
  • sloc: sh: 11,191; ansic: 9,519; makefile: 530; lex: 184; perl: 92; yacc: 60
file content (129 lines) | stat: -rw-r--r-- 4,339 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/**
 * Copyright (c) Members of the EGEE Collaboration. 2004-2010. 
 * See http://www.eu-egee.org/partners/ for details on the copyright
 * holders.  
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License.
 *
 *
 *  Authors:
 *  2009-
 *     Oscar Koeroo <okoeroo@nikhef.nl>
 *     Mischa Sall\'e <msalle@nikhef.nl>
 *     David Groep <davidg@nikhef.nl>
 *     NIKHEF Amsterdam, the Netherlands
 *     <grid-mw-security@nikhef.nl> 
 *
 *  2007-2009
 *     Oscar Koeroo <okoeroo@nikhef.nl>
 *     David Groep <davidg@nikhef.nl>
 *     NIKHEF Amsterdam, the Netherlands
 *
 *  2003-2007
 *     Martijn Steenbakkers <martijn@nikhef.nl>
 *     Gerben Venekamp <venekamp@nikhef.nl>
 *     Oscar Koeroo <okoeroo@nikhef.nl>
 *     David Groep <davidg@nikhef.nl>
 *     NIKHEF Amsterdam, the Netherlands
 *
 */


/*!
    \file   lcmaps_types.h
    \brief  Public header file with typedefs for LCMAPS
    \author Martijn Steenbakkers for the EU DataGrid.
    \ingroup APIforLcmapsPlugins

    Last change: support for VOMS' generic attributes  (Placi Flury flury@switch.ch)
*/

#ifndef LCMAPS_TYPES_H
#define LCMAPS_TYPES_H

/******************************************************************************
                             Include header files
******************************************************************************/

#include <sys/types.h>
#include <pwd.h>

/******************************************************************************
                               Type definitions
******************************************************************************/

/*!
    \typedef lcmaps_request_t
    \brief Type of the LCMAPS request expressed in RSL/JDL

    (Internal) just a string.
*/
typedef char *lcmaps_request_t;


typedef struct lcmaps_fqan_unix_s
{
    char * fqan;
    uid_t  uid;
    gid_t  gid;
}
lcmaps_fqan_unix_t;


typedef struct lcmaps_voms_generic_attr_s{  /*!< basically same fields as in the voms_apic.h*/
    char * name;
    char * value;
    char * qualifier;
}
lcmaps_voms_generic_attr_t;


typedef struct lcmaps_voms_s
{
    char *                       user_dn;           /*!< the User DN */
    char *                       user_ca;           /*!< the User CA */
    char *                       voms_issuer_dn;    /*!< the VOMS ACs Issuer (DN) */
    char *                       voms_issuer_ca;    /*!< the VOMS ACs Issuer (CA) */
    char *                       uri;               /*!< the VOMS uri */
    char *                       date1;             /*!< valid begin and end date per VOMS section */
    char *                       date2;             /*!< valid begin and end date per VOMS section */

    char *                       voname;            /*!< The VO name, not in FQAN format, just the name at the server */

    lcmaps_fqan_unix_t *         fqan_unix;         /*!< the list of FQANs mapped with Unix UID and/or Unix GID */
    int                          nfqan;             /*!< the number of FQANs */
    lcmaps_voms_generic_attr_t * attr_list;         /*!< the list of generic voms attributes (name,value) pairs */
    int                          nattr;             /*!< the number of generic voms attributes */
}
lcmaps_voms_t;


typedef struct lcmaps_vomsdata_s
{
    lcmaps_voms_t        *        voms;
    int                           nvoms;
    char                 *        workvo;
    char                 *        extra_data;
}
lcmaps_vomsdata_t;


#endif /* LCMAPS_TYPES_H */

/******************************************************************************
CVS Information:
    $Source: /srv/home/dennisvd/svn/mw-security/lcmaps/interface/lcmaps_types.h,v $
    $Date: 2011-03-04 21:55:13 +0100 (Fri, 04 Mar 2011) $
    $Revision: 14868 $
    $Author: dennisvd $
******************************************************************************/