functions by ones reading /etc/{group,passwd}.
* Added quasi-standard getpwent_r() and getgrent_r().
* Added _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX sysconf()
constants.
* Moved initgroups() and getgrouplist() definition to grp.cpp. They use
the same backend as the <grp.h> functions.
* Set the permissions of files created by the build system to what they
should be on the image (executables: 755, others: 644). Otherwise only
root could do anything under Haiku.
* Added build system variables HAIKU_ROOT_USER_NAME and
HAIKU_ROOT_USER_REAL_NAME to customize name and real name of Haiku's
root user.
* Added build system rules AddUserToHaikuImage and AddGroupToHaikuImage
for adding additional users and groups (by default only root user and
group and a "users" group are created).
* Adjusted BIND port and coreutils config.h files according to what
features have become available.
* Fixed HAIKU_DOCUMENTATION_OBJECT_DIR definition. Untested, but it used
a wrong variable name before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24750 a95241bf-73f2-0310-859d-f6bbb57e9c96
68 lines
1.8 KiB
C
68 lines
1.8 KiB
C
/*
|
|
* Copyright 2004-2007, Axel Dörfler, [email protected].
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef LIBROOT_PRIVATE_H
|
|
#define LIBROOT_PRIVATE_H
|
|
|
|
|
|
#include <SupportDefs.h>
|
|
#include <image.h>
|
|
|
|
|
|
#define MAX_PASSWD_NAME_LEN (32)
|
|
#define MAX_PASSWD_PASSWORD_LEN (32)
|
|
#define MAX_PASSWD_REAL_NAME_LEN (128)
|
|
#define MAX_PASSWD_HOME_DIR_LEN (B_PATH_NAME_LENGTH)
|
|
#define MAX_PASSWD_SHELL_LEN (B_PATH_NAME_LENGTH)
|
|
|
|
#define MAX_PASSWD_BUFFER_SIZE ( \
|
|
MAX_PASSWD_NAME_LEN \
|
|
+ MAX_PASSWD_PASSWORD_LEN \
|
|
+ MAX_PASSWD_REAL_NAME_LEN \
|
|
+ MAX_PASSWD_HOME_DIR_LEN \
|
|
+ MAX_PASSWD_SHELL_LEN)
|
|
|
|
#define MAX_GROUP_NAME_LEN (32)
|
|
#define MAX_GROUP_PASSWORD_LEN (32)
|
|
#define MAX_GROUP_MEMBER_COUNT (32)
|
|
|
|
#define MAX_GROUP_BUFFER_SIZE ( \
|
|
MAX_GROUP_NAME_LEN \
|
|
+ MAX_GROUP_PASSWORD_LEN \
|
|
+ ((MAX_GROUP_MEMBER_COUNT + 1) * sizeof(char*)))
|
|
// MAX_GROUP_NAME_LEN and MAX_GROUP_PASSWORD_LEN are char* aligned
|
|
|
|
|
|
struct user_space_program_args;
|
|
struct real_time_data;
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
extern char _single_threaded;
|
|
/* This determines if a process runs single threaded or not */
|
|
|
|
status_t __parse_invoke_line(char *invoker, char ***_newArgs,
|
|
char * const **_oldArgs, int32 *_argCount, const char *arg0);
|
|
status_t __get_next_image_dependency(image_id id, uint32 *cookie,
|
|
const char **_name);
|
|
status_t __test_executable(const char *path, char *invoker);
|
|
void __init_env(const struct user_space_program_args *args);
|
|
void __init_heap(void);
|
|
|
|
void __init_time(void);
|
|
void __arch_init_time(struct real_time_data *data, bool setDefaults);
|
|
bigtime_t __arch_get_system_time_offset(struct real_time_data *data);
|
|
void __init_pwd_backend(void);
|
|
void __reinit_pwd_backend_after_fork(void);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* LIBROOT_PRIVATE_H */
|