forked from Imagelibrary/rtems
This commit was manufactured by cvs2svn to create branch 'rtems-4-6-branch'.
Cherrypick from master 2003-08-18 07:31:32 UTC Ralf Corsepius <ralf.corsepius@rtems.org> '2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>': cpukit/libcsupport/src/getegid.c cpukit/libcsupport/src/geteuid.c cpukit/libcsupport/src/getgid.c cpukit/libcsupport/src/getgroups.c cpukit/libcsupport/src/getlogin.c cpukit/libcsupport/src/getpgrp.c cpukit/libcsupport/src/getpid.c cpukit/libcsupport/src/getppid.c cpukit/libcsupport/src/getuid.c cpukit/libcsupport/src/setpgid.c cpukit/libcsupport/src/setsid.c
This commit is contained in:
33
cpukit/libcsupport/src/getegid.c
Normal file
33
cpukit/libcsupport/src/getegid.c
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <limits.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <rtems/system.h>
|
||||||
|
#include <rtems/score/object.h>
|
||||||
|
#include <rtems/seterr.h>
|
||||||
|
#include <rtems/userenv.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* MACRO in userenv.h
|
||||||
|
gid_t _POSIX_types_Egid = 0;
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* 4.2.1 Get Real User, Effective User, Ral Group, and Effective Group IDs,
|
||||||
|
* P1003.1b-1993, p. 84
|
||||||
|
*/
|
||||||
|
|
||||||
|
gid_t getegid( void )
|
||||||
|
{
|
||||||
|
return _POSIX_types_Egid;
|
||||||
|
}
|
||||||
|
|
||||||
33
cpukit/libcsupport/src/geteuid.c
Normal file
33
cpukit/libcsupport/src/geteuid.c
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <limits.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <rtems/system.h>
|
||||||
|
#include <rtems/score/object.h>
|
||||||
|
#include <rtems/seterr.h>
|
||||||
|
|
||||||
|
#include <rtems/userenv.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* MACRO in userenv.h
|
||||||
|
uid_t _POSIX_types_Euid = 0;
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* 4.2.1 Get Real User, Effective User, Ral Group, and Effective Group IDs,
|
||||||
|
* P1003.1b-1993, p. 84
|
||||||
|
*/
|
||||||
|
|
||||||
|
uid_t geteuid( void )
|
||||||
|
{
|
||||||
|
return _POSIX_types_Euid;
|
||||||
|
}
|
||||||
47
cpukit/libcsupport/src/getgid.c
Normal file
47
cpukit/libcsupport/src/getgid.c
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <limits.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <rtems/system.h>
|
||||||
|
#include <rtems/score/object.h>
|
||||||
|
#include <rtems/seterr.h>
|
||||||
|
|
||||||
|
#include <rtems/userenv.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* MACRO in userenv.h
|
||||||
|
*
|
||||||
|
gid_t _POSIX_types_Gid = 0;
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* 4.2.1 Get Real User, Effective User, Ral Group, and Effective Group IDs,
|
||||||
|
* P1003.1b-1993, p. 84
|
||||||
|
*/
|
||||||
|
|
||||||
|
gid_t getgid( void )
|
||||||
|
{
|
||||||
|
return _POSIX_types_Gid;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* 4.2.2 Set User and Group IDs, P1003.1b-1993, p. 84
|
||||||
|
*/
|
||||||
|
|
||||||
|
int setgid(
|
||||||
|
gid_t gid
|
||||||
|
)
|
||||||
|
{
|
||||||
|
_POSIX_types_Gid = gid;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
30
cpukit/libcsupport/src/getgroups.c
Normal file
30
cpukit/libcsupport/src/getgroups.c
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
/*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <limits.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <rtems/system.h>
|
||||||
|
#include <rtems/score/object.h>
|
||||||
|
#include <rtems/seterr.h>
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* 4.2.3 Get Supplementary IDs, P1003.1b-1993, p. 86
|
||||||
|
*/
|
||||||
|
|
||||||
|
int getgroups(
|
||||||
|
int gidsetsize,
|
||||||
|
gid_t grouplist[]
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return 0; /* no supplemental group ids */
|
||||||
|
}
|
||||||
|
|
||||||
64
cpukit/libcsupport/src/getlogin.c
Normal file
64
cpukit/libcsupport/src/getlogin.c
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
/*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <limits.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
#include <rtems/system.h>
|
||||||
|
#include <rtems/score/object.h>
|
||||||
|
#include <rtems/seterr.h>
|
||||||
|
#include <rtems/userenv.h>
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <pwd.h>
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* 4.2.4 Get User Name, P1003.1b-1993, p. 87
|
||||||
|
*
|
||||||
|
* NOTE: P1003.1c/D10, p. 49 adds getlogin_r().
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* MACRO in userenv.h
|
||||||
|
*
|
||||||
|
static char _POSIX_types_Getlogin_buffer[ LOGIN_NAME_MAX ];
|
||||||
|
*/
|
||||||
|
|
||||||
|
char *getlogin( void )
|
||||||
|
{
|
||||||
|
(void) getlogin_r( _POSIX_types_Getlogin_buffer, LOGIN_NAME_MAX );
|
||||||
|
return _POSIX_types_Getlogin_buffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* 4.2.4 Get User Name, P1003.1b-1993, p. 87
|
||||||
|
*
|
||||||
|
* NOTE: P1003.1c/D10, p. 49 adds getlogin_r().
|
||||||
|
*/
|
||||||
|
|
||||||
|
int getlogin_r(
|
||||||
|
char *name,
|
||||||
|
size_t namesize
|
||||||
|
)
|
||||||
|
{
|
||||||
|
struct passwd *pw;
|
||||||
|
if ( namesize < LOGIN_NAME_MAX )
|
||||||
|
return ERANGE;
|
||||||
|
|
||||||
|
pw=getpwuid(getuid());
|
||||||
|
if (!pw) {
|
||||||
|
strcpy(name,"");
|
||||||
|
} else {
|
||||||
|
strncpy(name,pw->pw_name,LOGIN_NAME_MAX);
|
||||||
|
};
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
31
cpukit/libcsupport/src/getpgrp.c
Normal file
31
cpukit/libcsupport/src/getpgrp.c
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
/*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <limits.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <rtems/system.h>
|
||||||
|
#include <rtems/score/object.h>
|
||||||
|
#include <rtems/seterr.h>
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* 4.3.1 Get Process Group IDs, P1003.1b-1993, p. 89
|
||||||
|
*/
|
||||||
|
|
||||||
|
pid_t getpgrp( void )
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* This always succeeds and returns the process group id. For rtems,
|
||||||
|
* this will always be the local node;
|
||||||
|
*/
|
||||||
|
|
||||||
|
return _Objects_Local_node;
|
||||||
|
}
|
||||||
45
cpukit/libcsupport/src/getpid.c
Normal file
45
cpukit/libcsupport/src/getpid.c
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <limits.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <rtems/system.h>
|
||||||
|
#include <rtems/score/object.h>
|
||||||
|
#include <rtems/seterr.h>
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* 4.1.1 Get Process and Parent Process IDs, P1003.1b-1993, p. 83
|
||||||
|
*/
|
||||||
|
|
||||||
|
pid_t getpid( void )
|
||||||
|
{
|
||||||
|
return _Objects_Local_node;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _getpid_r
|
||||||
|
*
|
||||||
|
* This is the Newlib dependent reentrant version of getpid().
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(RTEMS_NEWLIB)
|
||||||
|
|
||||||
|
#include <reent.h>
|
||||||
|
|
||||||
|
pid_t _getpid_r(
|
||||||
|
struct _reent *ptr
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return getpid();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
29
cpukit/libcsupport/src/getppid.c
Normal file
29
cpukit/libcsupport/src/getppid.c
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
/*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <limits.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <rtems/system.h>
|
||||||
|
#include <rtems/score/object.h>
|
||||||
|
#include <rtems/seterr.h>
|
||||||
|
|
||||||
|
pid_t _POSIX_types_Ppid = 0;
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* 4.1.1 Get Process and Parent Process IDs, P1003.1b-1993, p. 83
|
||||||
|
*/
|
||||||
|
|
||||||
|
pid_t getppid( void )
|
||||||
|
{
|
||||||
|
return _POSIX_types_Ppid;
|
||||||
|
}
|
||||||
|
|
||||||
47
cpukit/libcsupport/src/getuid.c
Normal file
47
cpukit/libcsupport/src/getuid.c
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <limits.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <rtems/system.h>
|
||||||
|
#include <rtems/score/object.h>
|
||||||
|
#include <rtems/seterr.h>
|
||||||
|
|
||||||
|
#include <rtems/userenv.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* MACRO in userenv.h
|
||||||
|
*
|
||||||
|
uid_t _POSIX_types_Uid = 0;
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* 4.2.1 Get Real User, Effective User, Ral Group, and Effective Group IDs,
|
||||||
|
* P1003.1b-1993, p. 84
|
||||||
|
*/
|
||||||
|
|
||||||
|
uid_t getuid( void )
|
||||||
|
{
|
||||||
|
return _POSIX_types_Uid;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* 4.2.2 Set User and Group IDs, P1003.1b-1993, p. 84
|
||||||
|
*/
|
||||||
|
|
||||||
|
int setuid(
|
||||||
|
uid_t uid
|
||||||
|
)
|
||||||
|
{
|
||||||
|
_POSIX_types_Uid = uid;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
29
cpukit/libcsupport/src/setpgid.c
Normal file
29
cpukit/libcsupport/src/setpgid.c
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
/*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <limits.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <rtems/system.h>
|
||||||
|
#include <rtems/score/object.h>
|
||||||
|
#include <rtems/seterr.h>
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* 4.3.3 Set Process Group ID for Job Control, P1003.1b-1993, p. 89
|
||||||
|
*/
|
||||||
|
|
||||||
|
int setpgid(
|
||||||
|
pid_t pid,
|
||||||
|
pid_t pgid
|
||||||
|
)
|
||||||
|
{
|
||||||
|
rtems_set_errno_and_return_minus_one( ENOSYS );
|
||||||
|
}
|
||||||
28
cpukit/libcsupport/src/setsid.c
Normal file
28
cpukit/libcsupport/src/setsid.c
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <limits.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <rtems/system.h>
|
||||||
|
#include <rtems/score/object.h>
|
||||||
|
#include <rtems/seterr.h>
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* 4.3.2 Create Session and Set Process Group ID, P1003.1b-1993, p. 88
|
||||||
|
*/
|
||||||
|
|
||||||
|
pid_t setsid( void )
|
||||||
|
{
|
||||||
|
rtems_set_errno_and_return_minus_one( EPERM );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user