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"
39 int tzplatform_getcount()
41 return _TZPLATFORM_VARIABLES_COUNT_;
44 const char* tzplatform_getname(enum tzplatform_variable id)
46 return _getname_tzplatform_(id, tizen_platform_config_signup);
49 enum tzplatform_variable tzplatform_getid(const char *name)
51 return _getid_tzplatform_(name, tizen_platform_config_signup);
54 const char* tzplatform_getenv(enum tzplatform_variable id)
56 return _getenv_tzplatform_(id, tizen_platform_config_signup);
59 const char* tzplatform_context_getenv(struct tzplatform_context *context, enum tzplatform_variable id)
61 return _context_getenv_tzplatform_(id, tizen_platform_config_signup, context);
64 int tzplatform_getenv_int(enum tzplatform_variable id)
66 return _getenv_int_tzplatform_(id, tizen_platform_config_signup);
69 int tzplatform_context_getenv_int(struct tzplatform_context *context, enum tzplatform_variable id)
71 return _context_getenv_int_tzplatform_(id, tizen_platform_config_signup, context);
74 const char* tzplatform_mkstr(enum tzplatform_variable id, const char * str)
76 return _mkstr_tzplatform_(id, str, tizen_platform_config_signup);
79 const char* tzplatform_context_mkstr(struct tzplatform_context *context, enum tzplatform_variable id, const char *str)
81 return _context_mkstr_tzplatform_(id, str, tizen_platform_config_signup, context);
84 const char* tzplatform_mkpath(enum tzplatform_variable id, const char * path)
86 return _mkpath_tzplatform_(id, path, tizen_platform_config_signup);
89 const char* tzplatform_context_mkpath(struct tzplatform_context *context, enum tzplatform_variable id, const char *path)
91 return _context_mkpath_tzplatform_(id, path, tizen_platform_config_signup, context);
94 const char* tzplatform_mkpath3(enum tzplatform_variable id, const char * path, const char* path2)
96 return _mkpath3_tzplatform_(id, path, path2, tizen_platform_config_signup);
99 const char* tzplatform_context_mkpath3(struct tzplatform_context *context, enum tzplatform_variable id, const char *path, const char *path2)
101 return _context_mkpath3_tzplatform_(id, path, path2, tizen_platform_config_signup, context);
104 const char* tzplatform_mkpath4(enum tzplatform_variable id, const char * path, const char* path2, const char *path3)
106 return _mkpath4_tzplatform_(id, path, path2, path3, tizen_platform_config_signup);
109 const char* tzplatform_context_mkpath4(struct tzplatform_context *context, enum tzplatform_variable id, const char *path, const char *path2, const char *path3)
111 return _context_mkpath4_tzplatform_(id, path, path2, path3, tizen_platform_config_signup, context);
114 uid_t tzplatform_getuid(enum tzplatform_variable id)
116 return _getuid_tzplatform_(id, tizen_platform_config_signup);
119 uid_t tzplatform_context_getuid(struct tzplatform_context *context, enum tzplatform_variable id)
121 return _context_getuid_tzplatform_(id, tizen_platform_config_signup, context);
124 gid_t tzplatform_getgid(enum tzplatform_variable id)
126 return _getgid_tzplatform_(id, tizen_platform_config_signup);
129 gid_t tzplatform_context_getgid(struct tzplatform_context *context, enum tzplatform_variable id)
131 return _context_getgid_tzplatform_(id, tizen_platform_config_signup, context);
134 int tzplatform_has_system_group(uid_t uid)
136 return _has_system_group_static_(uid);
145 struct tzplatform_context *context;
146 enum tzplatform_variable id;
153 while(i != tzplatform_getcount()) {
154 id = (enum tzplatform_variable)i;
155 name = tzplatform_getname(id);
156 value = tzplatform_getenv(id);
157 xid = (int)tzplatform_getid(name);
158 printf("%d=%d\t%s=%s\n",i,xid,name,value?value:"<null>");
162 printf("------------------------\n");
163 i = tzplatform_context_create(&context);
165 printf("error while creating context %d\n",i);
170 i = tzplatform_context_set_user(context, uid);
172 printf("error %d while switching to user %d\n",i,(int)uid);
176 while(i != tzplatform_getcount()) {
177 id = (enum tzplatform_variable)i;
178 name = tzplatform_getname(id);
179 value = tzplatform_context_getenv(context, id);
180 xid = (int)tzplatform_getid(name);
181 printf("%d=%d\t%s=%s\n",i,xid,name,value?value:"<null>");
184 tzplatform_context_destroy(context);