00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
#ifndef APR_USER_H
00056
#define APR_USER_H
00057
00063
#include "apr.h"
00064
#include "apr_errno.h"
00065
#include "apr_pools.h"
00066
00067
#ifdef __cplusplus
00068
extern "C" {
00069
#endif
00070
00080
#ifdef WIN32
00081
typedef PSID
apr_uid_t;
00082
#else
00083 typedef uid_t
apr_uid_t;
00084
#endif
00085
00089
#ifdef WIN32
00090
typedef PSID
apr_gid_t;
00091
#else
00092 typedef gid_t
apr_gid_t;
00093
#endif
00094
00095
#if APR_HAS_USER
00096
00104
APR_DECLARE(
apr_status_t) apr_uid_current(apr_uid_t *userid,
00105 apr_gid_t *groupid,
00106
apr_pool_t *p);
00107
00109 APR_DECLARE(
apr_status_t) apr_current_userid(apr_uid_t *userid,
00110 apr_gid_t *groupid,
00111
apr_pool_t *p);
00119 APR_DECLARE(
apr_status_t) apr_uid_name_get(
char **username, apr_uid_t userid,
00120
apr_pool_t *p);
00121
00123 APR_DECLARE(
apr_status_t) apr_get_username(
char **username, apr_uid_t userid,
00124
apr_pool_t *p);
00133 APR_DECLARE(
apr_status_t) apr_uid_get(apr_uid_t *userid, apr_gid_t *groupid,
00134 const
char *username,
apr_pool_t *p);
00135
00137 APR_DECLARE(
apr_status_t) apr_get_userid(apr_uid_t *userid, apr_gid_t *groupid,
00138 const
char *username,
apr_pool_t *p);
00139
00147 APR_DECLARE(
apr_status_t) apr_uid_homepath_get(
char **dirname,
00148 const
char *username,
00149
apr_pool_t *p);
00150
00152 APR_DECLARE(
apr_status_t) apr_get_home_directory(
char **dirname,
00153 const
char *username,
00154
apr_pool_t *p);
00155
00164 #if defined(WIN32)
00165 APR_DECLARE(
apr_status_t) apr_uid_compare(apr_uid_t left, apr_uid_t right);
00166
00168 APR_DECLARE(
apr_status_t) apr_compare_users(apr_uid_t left, apr_uid_t right);
00169 #else
00170 #define apr_uid_compare(left,right) (((left) == (right)) ? APR_SUCCESS : APR_EMISMATCH)
00172 #define apr_compare_users(left,right) (((left) == (right)) ? APR_SUCCESS : APR_EMISMATCH)
00173 #endif
00174
00182 APR_DECLARE(
apr_status_t) apr_gid_name_get(
char **groupname,
00183 apr_gid_t groupid,
apr_pool_t *p);
00184
00186 APR_DECLARE(
apr_status_t) apr_group_name_get(
char **groupname,
00187 apr_gid_t groupid,
apr_pool_t *p);
00188
00190 APR_DECLARE(
apr_status_t) apr_get_groupname(
char **groupname,
00191 apr_gid_t groupid,
apr_pool_t *p);
00192
00200 APR_DECLARE(
apr_status_t) apr_gid_get(apr_gid_t *groupid,
00201 const
char *groupname,
apr_pool_t *p);
00202
00204 APR_DECLARE(
apr_status_t) apr_get_groupid(apr_gid_t *groupid,
00205 const
char *groupname,
apr_pool_t *p);
00206
00215 #if defined(WIN32)
00216 APR_DECLARE(
apr_status_t) apr_gid_compare(apr_gid_t left, apr_gid_t right);
00218 APR_DECLARE(
apr_status_t) apr_compare_groups(apr_gid_t left, apr_gid_t right);
00219 #else
00220 #define apr_gid_compare(left,right) (((left) == (right)) ? APR_SUCCESS : APR_EMISMATCH)
00222 #define apr_compare_groups(left,right) (((left) == (right)) ? APR_SUCCESS : APR_EMISMATCH)
00223 #endif
00224
00225 #endif
00226
00229 #ifdef __cplusplus
00230 }
00231 #endif
00232
00233 #endif