1 /****************************************************************************
2 * Copyright 2020 Thomas E. Dickey *
3 * Copyright 2011,2014 Free Software Foundation, Inc. *
4 * *
5 * Permission is hereby granted, free of charge, to any person obtaining a *
6 * copy of this software and associated documentation files (the *
7 * "Software"), to deal in the Software without restriction, including *
8 * without limitation the rights to use, copy, modify, merge, publish, *
9 * distribute, distribute with modifications, sublicense, and/or sell *
10 * copies of the Software, and to permit persons to whom the Software is *
11 * furnished to do so, subject to the following conditions: *
12 * *
13 * The above copyright notice and this permission notice shall be included *
14 * in all copies or substantial portions of the Software. *
15 * *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
17 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
19 * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
20 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
21 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
22 * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
23 * *
24 * Except as contained in this notice, the name(s) of the above copyright *
25 * holders shall not be used in advertising or otherwise to promote the *
26 * sale, use or other dealings in this Software without prior written *
27 * authorization. *
28 ****************************************************************************/
29
30 /****************************************************************************
31 * Author: Nicolas Boulenguez, 2011 *
32 ****************************************************************************/
33
34 /*
35 Version Control
36 $Id: c_varargs_to_ada.c,v 1.7 2020/02/02 23:34:34 tom Exp $
37 --------------------------------------------------------------------------*/
38 /*
39 */
40
41 #include "c_varargs_to_ada.h"
42
43 int
set_field_type_alnum(FIELD * field,int minimum_width)44 set_field_type_alnum(FIELD *field,
45 int minimum_width)
46 {
47 return set_field_type(field, TYPE_ALNUM, minimum_width);
48 }
49
50 int
set_field_type_alpha(FIELD * field,int minimum_width)51 set_field_type_alpha(FIELD *field,
52 int minimum_width)
53 {
54 return set_field_type(field, TYPE_ALPHA, minimum_width);
55 }
56
57 int
set_field_type_enum(FIELD * field,char ** value_list,int case_sensitive,int unique_match)58 set_field_type_enum(FIELD *field,
59 char **value_list,
60 int case_sensitive,
61 int unique_match)
62 {
63 return set_field_type(field, TYPE_ENUM, value_list, case_sensitive,
64 unique_match);
65 }
66
67 int
set_field_type_integer(FIELD * field,int precision,long minimum,long maximum)68 set_field_type_integer(FIELD *field,
69 int precision,
70 long minimum,
71 long maximum)
72 {
73 return set_field_type(field, TYPE_INTEGER, precision, minimum, maximum);
74 }
75
76 int
set_field_type_numeric(FIELD * field,int precision,double minimum,double maximum)77 set_field_type_numeric(FIELD *field,
78 int precision,
79 double minimum,
80 double maximum)
81 {
82 return set_field_type(field, TYPE_NUMERIC, precision, minimum, maximum);
83 }
84
85 int
set_field_type_regexp(FIELD * field,char * regular_expression)86 set_field_type_regexp(FIELD *field,
87 char *regular_expression)
88 {
89 return set_field_type(field, TYPE_REGEXP, regular_expression);
90 }
91
92 int
set_field_type_ipv4(FIELD * field)93 set_field_type_ipv4(FIELD *field)
94 {
95 return set_field_type(field, TYPE_IPV4);
96 }
97
98 int
set_field_type_user(FIELD * field,FIELDTYPE * fieldtype,void * arg)99 set_field_type_user(FIELD *field,
100 FIELDTYPE *fieldtype,
101 void *arg)
102 {
103 return set_field_type(field, fieldtype, arg);
104 }
105
106 void *
void_star_make_arg(va_list * list)107 void_star_make_arg(va_list *list)
108 {
109 return va_arg(*list, void *);
110 }
111
112 #ifdef TRACE
113 void
_traces(const char * fmt,char * arg)114 _traces(const char *fmt, char *arg)
115 {
116 _tracef(fmt, arg);
117 }
118 #endif
119