/usr/include/lcmaps/lcmaps_account.h is in lcmaps-basic-interface 1.6.1-2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | /*
* 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_account.h
\brief Utility functions to initialize, fill and clean an lcmaps account structure.
\author Martijn Steenbakkers for the EU DataGrid.
Utility functions to initialize, fill and clean an lcmaps account structure.
This account structure is used by several lcmaps interfaces.
\ingroup LcmapsInterface
*/
#ifndef LCMAPS_ACCOUNT_H
#define LCMAPS_ACCOUNT_H
#ifndef LCMAPS_ACCOUNT_C
# define LCMAPS_ACCOUNT_C_STORAGE_CLASS extern
#else
# define LCMAPS_ACCOUNT_C_STORAGE_CLASS
#endif
/******************************************************************************
Include header files
******************************************************************************/
#include <stdlib.h>
#include <sys/types.h>
#include <pwd.h>
/******************************************************************************
Type definitions
******************************************************************************/
/*!
\struct lcmaps_account_info_s
\brief structure that contains the local account information gathered by LCMAPS
*/
/*!
\brief Type of LCMAPS account info struct
*/
typedef struct lcmaps_account_info_s
{
uid_t uid; /*!< the uid of the local account */
gid_t * pgid_list; /*!< the list of primary gids */
int npgid; /*!< the number of primary gids found */
gid_t * sgid_list; /*!< the list of secondary gids */
int nsgid; /*!< the number of secondary gids found */
char * poolindex; /*!< the pool index */
} lcmaps_account_info_t;
/******************************************************************************
Module definition
*****************************************************************************/
/******************************************************************************
Function: lcmaps_account_info_init()
Description: Initialize the account info structure
Parameters:
plcmaps_account: pointer to the account info struct to be filled
Returns: 0: succes
1: failed to initialize the account info structure
******************************************************************************/
/*!
\fn lcmaps_account_info_init(
lcmaps_account_info_t * plcmaps_account
)
\brief Initialize the account info structure
\param plcmaps_account pointer to the account info struct to be filled
\retval 0 success.
\retval 1 failed to clean the account info structure
*/
typedef int
lcmaps_account_info_init_t(
lcmaps_account_info_t * plcmaps_account
);
lcmaps_account_info_init_t lcmaps_account_info_init;
/******************************************************************************
Function: lcmaps_account_info_fill()
Description: Fill structure with account info
Parameters:
puid: ptr to the uid of the local account
ppgid_list: ptr to the list of primary gids
pnpgid: ptr to the number of primary gids found
psgid_list: ptr to the list of secondary gids
pnsgid: ptr to the number of secondary gids found
ppoolindex: ptr to the pool index
plcmaps_account: pointer to the account info struct to be filled
Returns: 0: succes
1: failed to fill the account info structure
-1: other failure
******************************************************************************/
/*!
\fn lcmaps_account_info_fill(
uid_t * puid,
gid_t ** ppgid_list,
int * pnpgid,
gid_t ** psgid_list,
int * pnsgid,
char ** ppoolindex,
lcmaps_account_info_t * plcmaps_account
)
\brief Fill structure with account info
\param puid ptr to the uid of the local account
\param ppgid_list ptr to the list of primary gids
\param pnpgid ptr to the number of primary gids found
\param psgid_list ptr to the list of secondary gids
\param pnsgid ptr to the number of secondary gids found
\param ppoolindex ptr to the pool index
\param plcmaps_account pointer to the account info struct to be filled
\retval 0 success.
\retval 1 failed to fill the account info structure
\retval -1 other failure
\internal
*/
LCMAPS_ACCOUNT_C_STORAGE_CLASS int
lcmaps_account_info_fill(
uid_t * puid,
gid_t ** ppgid_list,
int * pnpgid,
gid_t ** psgid_list,
int * pnsgid,
char ** ppoolindex,
lcmaps_account_info_t * plcmaps_account
);
/*!
\brief Clean the account info structure
\param plcmaps_account pointer to the account info struct to be filled
\retval 0 success.
\retval 1 failed to clean the account info structure
*/
typedef int
lcmaps_account_info_clean_t(
lcmaps_account_info_t * plcmaps_account
);
/**
\brief Clean the account info structure
*/
#ifndef LCMAPS_USE_DLOPEN
lcmaps_account_info_clean_t lcmaps_account_info_clean;
#endif /* LCMAPS_USE_DLOPEN */
#endif /* LCMAPS_ACCOUNT_H */
|