2 * Copyright (C) 2013-2014 Intel Corporation.
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 * José Bollo <jose.bollo@open.eurogiciel.org>
20 * Stéphane Desneux <stephane.desneux@open.eurogiciel.org>
21 * Jean-Benoit Martin <jean-benoit.martin@open.eurogiciel.org>
31 #include "tzplatform_variables.h"
32 #include "tzplatform_config.h"
34 #include "shared-api.h"
37 int tzplatform_getcount()
39 return _TZPLATFORM_VARIABLES_COUNT_;
42 const char* tzplatform_getname(enum tzplatform_variable id)
44 return _getname_tzplatform_(id);
47 enum tzplatform_variable tzplatform_getid(const char *name)
49 return _getid_tzplatform_(name);
52 const char* tzplatform_getenv(enum tzplatform_variable id)
54 return _getenv_tzplatform_(id);
57 const char* tzplatform_context_getenv(struct tzplatform_context *context, enum tzplatform_variable id)
59 return _context_getenv_tzplatform_(id, context);
62 int tzplatform_getenv_int(enum tzplatform_variable id)
64 return _getenv_int_tzplatform_(id);
67 int tzplatform_context_getenv_int(struct tzplatform_context *context, enum tzplatform_variable id)
69 return _context_getenv_int_tzplatform_(id, context);
72 const char* tzplatform_mkstr(enum tzplatform_variable id, const char * str)
74 return _mkstr_tzplatform_(id, str);
77 const char* tzplatform_context_mkstr(struct tzplatform_context *context, enum tzplatform_variable id, const char *str)
79 return _context_mkstr_tzplatform_(id, str, context);
82 const char* tzplatform_mkpath(enum tzplatform_variable id, const char * path)
84 return _mkpath_tzplatform_(id, path);
87 const char* tzplatform_context_mkpath(struct tzplatform_context *context, enum tzplatform_variable id, const char *path)
89 return _context_mkpath_tzplatform_(id, path, context);
92 const char* tzplatform_mkpath3(enum tzplatform_variable id, const char * path, const char* path2)
94 return _mkpath3_tzplatform_(id, path, path2);
97 const char* tzplatform_context_mkpath3(struct tzplatform_context *context, enum tzplatform_variable id, const char *path, const char *path2)
99 return _context_mkpath3_tzplatform_(id, path, path2, context);
102 const char* tzplatform_mkpath4(enum tzplatform_variable id, const char * path, const char* path2, const char *path3)
104 return _mkpath4_tzplatform_(id, path, path2, path3);
107 const char* tzplatform_context_mkpath4(struct tzplatform_context *context, enum tzplatform_variable id, const char *path, const char *path2, const char *path3)
109 return _context_mkpath4_tzplatform_(id, path, path2, path3, context);
112 uid_t tzplatform_getuid(enum tzplatform_variable id)
114 return _getuid_tzplatform_(id);
117 uid_t tzplatform_context_getuid(struct tzplatform_context *context, enum tzplatform_variable id)
119 return _context_getuid_tzplatform_(id, context);
122 gid_t tzplatform_getgid(enum tzplatform_variable id)
124 return _getgid_tzplatform_(id);
127 gid_t tzplatform_context_getgid(struct tzplatform_context *context, enum tzplatform_variable id)
129 return _context_getgid_tzplatform_(id, context);
132 int tzplatform_has_system_group(uid_t uid)
134 return _has_system_group_static_(uid);
143 struct tzplatform_context *context;
144 enum tzplatform_variable id;
151 while(i != tzplatform_getcount()) {
152 id = (enum tzplatform_variable)i;
153 name = tzplatform_getname(id);
154 value = tzplatform_getenv(id);
155 xid = (int)tzplatform_getid(name);
156 printf("%d=%d\t%s=%s\n",i,xid,name,value?value:"<null>");
160 printf("------------------------\n");
161 i = tzplatform_context_create(&context);
163 printf("error while creating context %d\n",i);
168 i = tzplatform_context_set_user(context, uid);
170 printf("error %d while switching to user %d\n",i,(int)uid);
174 while(i != tzplatform_getcount()) {
175 id = (enum tzplatform_variable)i;
176 name = tzplatform_getname(id);
177 value = tzplatform_context_getenv(context, id);
178 xid = (int)tzplatform_getid(name);
179 printf("%d=%d\t%s=%s\n",i,xid,name,value?value:"<null>");
182 tzplatform_context_destroy(context);