File: lcmaps_arguments.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 (170 lines) | stat: -rw-r--r-- 6,331 bytes parent folder | download | duplicates (2)
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
/**
 * 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_arguments.h
    \ingroup APIforLcmapsPlugins
    \author Martijn Steenbakkers and Oscar Koeroo for the EU DataGrid.
    \brief  Public header file to be used by plugins

    Routines to access the plugin arguments.

    The interface is composed of:
    -# lcmaps_setArgValue(): Set the value of argument with name argName of argType to value
    -# lcmaps_getArgValue(): Get the value of argument with name argName of argType
    -# lcmaps_findArgName(): Get index of argument with name argName
    -# lcmaps_cntArgs(): Count the number of arguments
*/

#ifndef LCMAPS_ARGUMENTS_H
#define LCMAPS_ARGUMENTS_H

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

/*!
    \struct lcmaps_argument_s
    \typedef lcmaps_argument_t
    \brief Type of LCMAPS plugin run argument (to be passed to the plugin by plugin_run())
*/
typedef struct lcmaps_argument_s
{
    const char *argName; /*!< name of argument */
    const char *argType; /*!< type of the argument */
    int argInOut;  /*!< input or output argument (0 = false = Input / 1 = true = Out) */
    void *value;   /*!< value of argument */
} lcmaps_argument_t;


/******************************************************************************
 *                 Module definition
 *****************************************************************************/ 

/******************************************************************************
Function:   lcmaps_setArgValue
Description:
    Set the value of argType on the reserved place in values. 
    The place within values is determined by the place where argName is found
    in the arguments list

Parameters:
    argName: name of argument
    argType: type of argument
    argcx:   number of arguments
    argvx:   array of arguments structures
Returns:
    0:  success
    -1: failure (could not find structure with name argName)
******************************************************************************/
extern int         lcmaps_setArgValue(const char *argName, const char *argType, void *value,  int argcx, lcmaps_argument_t **argvx);

/******************************************************************************
Function:   lcmaps_getArgValue
Description:
    Gets the value of argType from values.
    The place within the lcmaps_argument_t values is determined by the argName listed in 
    lcmaps_argument_t *argvx.
    Returns a void pointer to the value.

Parameters:
    argName: name of argument
    argType: type of argument
    argcx:   number of arguments
    argvx:   array of arguments structures
Returns:
    void pointer to the value or NULL
******************************************************************************/
extern void *      lcmaps_getArgValue(const char *argName, const char *argType, int argcx, lcmaps_argument_t *argvx);

/******************************************************************************
Function:   lcmaps_findArgName
Description:
    Search for argName in the arguments list.
    Returns the index to lcmaps_argument_t element.

Parameters:
    argName: name of argument
    argcx:   number of arguments
    argvx:   array of arguments structures
Returns:
    index to lcmaps_argument_t element
******************************************************************************/
extern int         lcmaps_findArgName(const char *argName, int argcx, lcmaps_argument_t *argvx);

/******************************************************************************
Function:   lcmaps_findArgNameAndType
Description:
    Search for argName and Type in the arguments list.
    Returns the index to lcmaps_argument_t element.

Parameters:
    argName: name of argument
    argType: type of argument
    argcx:   number of arguments
    argvx:   array of arguments structures
Returns:
    index to lcmaps_argument_t element
******************************************************************************/
extern int         lcmaps_findArgNameAndType(const char *argName, const char *argType, int argcx, lcmaps_argument_t *argvx);

/******************************************************************************
Function:   lcmaps_cntArgs
Description:
    Count the number of arguments that are defined in a plug-in
    Returns this number.

Parameters:
    argvx:   array of arguments structures
Returns:
    the number of arguments
******************************************************************************/
extern int         lcmaps_cntArgs(lcmaps_argument_t *argvx);

#endif /* LCMAPS_ARGUMENTS_H */

/******************************************************************************
CVS Information:
    $Source: /srv/home/dennisvd/svn/mw-security/lcmaps/interface/lcmaps_arguments.h,v $
    $Date: 2015-02-02 11:25:33 +0100 (Mon, 02 Feb 2015) $
    $Revision: 18215 $
    $Author: msalle $
******************************************************************************/