f8cb30712e
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, axeld@pinc-software.de.
|
|
* 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 */
|