mirror of
https://github.com/deadw00d/AROS.git
synced 2025-12-08 06:20:50 +00:00
83 lines
1.8 KiB
C
83 lines
1.8 KiB
C
#ifndef LIBRARIES_USERGROUP_H
|
|
#define LIBRARIES_USERGROUP_H
|
|
/*
|
|
* Definitions of AmiTCP/IP usergroup.library for 32 bit C compilers
|
|
*
|
|
* Copyright © 2025 The AROS Dev Team.
|
|
* Copyright © 1994-2002 AmiTCP/IP Group
|
|
* Network Solutions Development, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* $Id$
|
|
*/
|
|
|
|
#ifndef EXEC_TYPES_H
|
|
#include <exec/types.h>
|
|
#endif
|
|
|
|
#ifndef _PWD_H_
|
|
#include <pwd.h>
|
|
#endif
|
|
#ifndef _GRP_H_
|
|
#include <grp.h>
|
|
#endif
|
|
#if (0)
|
|
#ifndef _UTMP_H_
|
|
#include <utmp.h>
|
|
#endif
|
|
#endif
|
|
|
|
#define USERGROUPNAME "LIBS:usergroup.library"
|
|
|
|
/* Extended password encryption begins with underscore */
|
|
#define _PASSWORD_EFMT1 '_'
|
|
|
|
/* Maximum length for password */
|
|
#define _PASSWORD_LEN 128
|
|
|
|
/* A user can belong to NGROUPS different groups */
|
|
#define NGROUPS 32
|
|
|
|
/* Max length of a login name */
|
|
#define MAXLOGNAME 32
|
|
|
|
/* Credentials of a process. Uses a 16-bit alignement for compatibility reasons */
|
|
#ifdef __GNUC__
|
|
#pragma pack(2)
|
|
#endif
|
|
struct UserGroupCredentials {
|
|
uid_t cr_ruid;
|
|
gid_t cr_rgid;
|
|
unsigned short cr_umask; /* umask (mode_t) */
|
|
uid_t cr_euid;
|
|
short cr_ngroups; /* number of groups */
|
|
gid_t cr_groups[NGROUPS];
|
|
struct Task *cr_session; /* pid_t (mode) */
|
|
char cr_login[MAXLOGNAME]; /* setlogin() name */
|
|
};
|
|
#ifdef __GNUC__
|
|
#pragma pack()
|
|
#endif
|
|
|
|
/*
|
|
* ID conversion macros
|
|
*/
|
|
#define UG2MU(id) ((id) == 0 ? 65535 : (id) == -2 ? 0 : (id))
|
|
#define MU2UG(id) ((id) == 65535 ? 0L : (id) == 0L ? -2L : (id))
|
|
|
|
/*
|
|
* Context tags
|
|
*/
|
|
#define UGT_ERRNOBPTR 0x80000001
|
|
#define UGT_ERRNOWPTR 0x80000002
|
|
#define UGT_ERRNOLPTR 0x80000004
|
|
#define UGT_ERRNOPTR(size)\
|
|
((size == 4) ? UGT_ERRNOLPTR :\
|
|
(size == 2) ? UGT_ERRNOWPTR :\
|
|
(size == 1) ? UGT_ERRNOBPTR : 1L)
|
|
#define UGT_OWNER 0x80000011
|
|
#define UGT_INTRMASK 0x80000010
|
|
|
|
|
|
#endif /* !LIBRARIES_USERGROUP_H */
|