Changeset 1505
- Timestamp:
- Sep 12, 2004, 9:40:29 PM (21 years ago)
- Location:
- trunk/src/emx
- Files:
-
- 28 added
- 31 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/include/InnoTekLIBC/backend.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r1504 r1505 28 28 #define __InnoTekLIBC_backend_h__ 29 29 30 #include <sys/cdefs.h> 31 #include <sys/types.h> 32 33 __BEGIN_DECLS 34 30 35 #ifndef __LIBC_THREAD_DECLARED 31 36 #define __LIBC_THREAD_DECLARED 32 37 typedef struct __libc_thread *__LIBC_PTHREAD, **__LIBC_PPTHREAD; 33 38 #endif 39 struct statfs; 34 40 35 41 36 /** @ group __libc_Back_thread LIBC Backend - Threads42 /** @defgroup __libc_Back_thread LIBC Backend - Threads 37 43 * @{ */ 38 44 … … 75 81 /** @} */ 76 82 77 #if defined (__cplusplus) 78 } 83 84 /** @defgroup __libc_Back_fh LIBC Backend - File Handles. 85 * @{ */ 86 87 /** 88 * Try resolve a filehandle to a path. 89 * 90 * @returns 0 on success. 91 * @returns -1 and errno on failure. 92 * @param fh The file handle. 93 * @param pszPath Where to store the path. 94 * @param cchPath The size of he buffer pointed to by pszPath. 95 */ 96 int __libc_Back_fhToPath(int fh, char *pszPath, size_t cchPath); 97 98 /** @} */ 99 100 101 /** @defgroup __libc_Back_fs LIBC Backend - File System 102 * @{ */ 103 104 /** 105 * Get the statistics for the filesystem which pszPath is located on. 106 * 107 * @returns 0 on success. 108 * @returns -1 and errno on failure. 109 * @param pszPath The path to somewhere in the filesystem. 110 * @param pStatFs Where to store the obtained information. 111 */ 112 int __libc_Back_fsStat(const char *pszPath, struct statfs *pStatFs); 113 114 /** 115 * Get file system statistics 116 * 117 * @returns 0 on success. 118 * @returns -1 and errno on failure. 119 * @param fh The filehandle of any file within the mounted file system. 120 * @param pStatFs Where to store the statistics. 121 */ 122 int __libc_Back_fsStatFH(int fh, struct statfs *pStatFs); 123 124 /** 125 * Get the statistics for all the mounted filesystems. 126 * 127 * @returns Number of returned statfs structs on success. 128 * @returns Number of mounted filesystems on success if paStatFS is NULL 129 * @returns -1 and errno on failure. 130 * @param paStatFs Where to to store the statistics. 131 * @parma cStatFS Number of structures the array pointed to by paStatFs can hold. 132 * @param fFlags Flags, currently ignored. 133 */ 134 int __libc_Back_fsStats(struct statfs *paStatFs, unsigned cStatFs, unsigned fFlags); 135 136 /** 137 * Schedules all file system buffers for writing. 138 * 139 * See sync() for OS/2 limitations. 140 */ 141 void __libc_Back_fsSync(void); 142 143 /** @} */ 144 145 146 147 /** @defgroup __libc_Back_misc LIBC Backend - Miscellaneous 148 * @{ */ 149 150 /** 151 * Gets the system load averages. 152 * The load is the average values of ready and running threads(/processes) 153 * over the last 1, 5 and 15 minuttes. 154 * 155 * @returns 0 on success. 156 * @returns -1 and errno on failure. 157 * @param pardAvgs Where to store the samples. 158 * @param cAvgs Number of samples to get. Max is 3. 159 * @remark See OS/2 limitations in getloadavg(). 160 */ 161 int __libc_Back_miscLoadAvg(double *pardAvgs, unsigned cAvgs); 162 163 /** @} */ 164 165 __END_DECLS 166 79 167 #endif 80 81 #endif /* not _EMX_SYSCALLS_H */ -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/InnoTekLIBC/sharedpm.h
-
Property cvs2svn:cvs-rev
changed from
1.5
to1.6
r1504 r1505 298 298 299 299 /** 300 * The structure contains the system load averages. 301 */ 302 typedef struct __libc_SPMLoadAvg 303 { 304 /** Array of the three stamples. 305 * The entries are for 1, 5 and 15 min averages respectively. 306 * 307 * The samples them selfs are stored as integers and not as a 308 * double as the interface returns. The reason is that this is smaller 309 * and it's what both BSD and Linux is doing. The fraction part is 310 * the lower 11 bits (this is also identical to BSD and Linux). 311 */ 312 uint32_t u32Samples[3]; 313 /** Timestamp of the last update. */ 314 unsigned uTimestamp; 315 } __LIBC_SPMLOADAVG; 316 /** Pointer to load averages. */ 317 typedef __LIBC_SPMLOADAVG *__LIBC_PSPMLOADAVG; 318 319 320 /** 300 321 * This is the header of the LIBC shared memory. 301 322 */ … … 336 357 char ach[16]; 337 358 }; 359 360 /** System Load Averages. */ 361 __LIBC_SPMLOADAVG LoadAvg; 362 338 363 /* The rest of the block, up to cbProcess, is undefined in this version. 339 364 * Future versions of LIBC may use this area assuming it's initalized with zeros. … … 531 556 532 557 /** 558 * Get the stored load average samples. 559 * 560 * @returns 0 on success. 561 * @returns -1 and errno on failure. 562 * @param pLoadAvg Where to store the load average samples. 563 * @param puTimestamp Where to store the current timestamp. 564 */ 565 int __libc_spmGetLoadAvg(__LIBC_PSPMLOADAVG pLoadAvg, unsigned *puTimestamp); 566 567 /** 568 * Get the stored load average samples. 569 * 570 * @returns 0 on success. 571 * @returns -1 and errno on failure. 572 * @param pLoadAvg Where to store the load average samples. 573 */ 574 int __libc_spmSetLoadAvg(const __LIBC_SPMLOADAVG *pLoadAvg); 575 576 /** 533 577 * Checks the SPM memory for trouble. 534 578 * -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/arpa/inet.h
-
Property cvs2svn:cvs-rev
changed from
1.5
to1.6
r1504 r1505 54 54 #include <sys/types.h> 55 55 #include <sys/cdefs.h> 56 57 /* 58 * Internet address (a structure for historical reasons) 59 */ 60 #ifndef _STRUCT_IN_ADDR_DECLARED 61 struct in_addr { 62 u_long s_addr; 63 }; 64 #define _STRUCT_IN_ADDR_DECLARED 65 #endif 66 56 67 #ifndef TCPV40HDRS 57 68 int TCPCALL inet_aton (const char *, struct in_addr *); -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/dirent.h
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r1504 r1505 99 99 } DIR; 100 100 101 #if 0 /* bird: we do it differently. */ 101 102 #define dirfd(dirp) ((dirp)->dd_fd) 103 #else /* bird */ 104 #define dirfd(dirp) (-2) /* bird */ 105 #endif /* bird */ 102 106 103 107 /* flags for opendir2 */ -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/emx/io.h
-
Property cvs2svn:cvs-rev
changed from
1.9
to1.10
r1504 r1505 358 358 { 359 359 /** Handle flags. 360 * See group @ref libc_ioflags in include/emx .h.360 * See group @ref libc_ioflags in include/emx/io.h. 361 361 * @remark For thread safety update this atomically. */ 362 362 volatile unsigned int fFlags; -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/grp.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r1504 r1505 1 1 /* grp.h (emx+gcc) */ 2 2 3 #ifndef _GRP_H 3 #ifndef _GRP_H_ 4 #define _GRP_H_ 4 5 #define _GRP_H 5 6 6 #if defined (__cplusplus) 7 extern "C" { 7 #include <sys/cdefs.h> 8 #include <sys/_types.h> 9 10 __BEGIN_DECLS 11 12 #ifndef _POSIX_SOURCE 13 #define _PATH_GROUP "/etc/group" 8 14 #endif 9 15 10 #if !defined (_GID_T) 11 #define _GID_T 12 typedef int gid_t; 16 #if !defined(_GID_T_DECLARED) && !defined(_GID_T) 17 typedef __gid_t gid_t; 18 #define _GID_T_DECLARED 19 #define _GID_T 13 20 #endif 21 22 #if !defined(_SIZE_T_DECLARED) && !defined(_SIZE_T) 23 typedef __size_t size_t; 24 #define _SIZE_T_DECLARED 25 #define _SIZE_T 26 #endif 27 14 28 15 29 struct group 16 30 { 17 31 char *gr_name; 32 char *gr_passwd; 18 33 gid_t gr_gid; 19 34 char **gr_mem; 20 35 }; 21 36 22 struct group *getgrgid (gid_t);23 struct group *getgrnam (__const__char *);37 struct group *getgrgid (gid_t); 38 struct group *getgrnam (const char *); 24 39 25 #if defined (__cplusplus) 26 } 40 #if __BSD_VISIBLE || __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE 41 struct group *getgrent(void); 42 int setgrent(void); 43 void endgrent(void); 44 void setgrfile(const char *); 45 int setgroupent(int); 46 int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **); 47 int getgrnam_r(const char *, struct group *, char *, size_t, struct group **); 27 48 #endif 28 49 29 #endif /* not _GRP_H */ 50 #if __BSD_VISIBLE 51 const char *group_from_gid(gid_t, int); 52 int getgrent_r(struct group *, char *, size_t, struct group **); 53 int setgroupent(int); 54 #endif 55 56 __END_DECLS 57 58 #endif /* not _GRP_H_ */ -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/netdb.h
-
Property cvs2svn:cvs-rev
changed from
1.6
to1.7
r1504 r1505 34 34 * 35 35 * from: @(#)netdb.h 5.15 (Berkeley) 4/3/91 36 * netdb.h,v 1. 6 2004/08/09 10:35:32bird Exp36 * netdb.h,v 1.7 2004/09/12 19:40:25 bird Exp 37 37 */ 38 38 … … 196 196 #endif 197 197 198 /* New BSD Additions. */ 199 int innetgr(const char *, const char *, const char *, const char *); 200 void setnetgrent(const char *); 201 int getnetgrent(char **, char **, char **); 202 void endnetgrent(void); 203 204 198 205 199 206 /* OS2 Additions */ -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/netinet/in.h
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r1504 r1505 106 106 * Internet address (a structure for historical reasons) 107 107 */ 108 #ifndef _STRUCT_IN_ADDR_DECLARED 108 109 struct in_addr { 109 110 u_long s_addr; 110 111 }; 112 #define _STRUCT_IN_ADDR_DECLARED 113 #endif 114 111 115 112 116 /* -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/pwd.h
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r1504 r1505 1 /* pwd.h (emx+gcc) */ 1 /*- 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. 9 * 10 * Redistribution and use in source and binary forms, with or without 11 * modification, are permitted provided that the following conditions 12 * are met: 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 2. Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in the 17 * documentation and/or other materials provided with the distribution. 18 * 3. All advertising materials mentioning features or use of this software 19 * must display the following acknowledgement: 20 * This product includes software developed by the University of 21 * California, Berkeley and its contributors. 22 * 4. Neither the name of the University nor the names of its contributors 23 * may be used to endorse or promote products derived from this software 24 * without specific prior written permission. 25 * 26 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 27 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 28 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 29 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 30 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)pwd.h 8.2 (Berkeley) 1/21/94 39 * $FreeBSD: src/include/pwd.h,v 1.15 2003/04/18 14:11:17 nectar Exp $ 40 */ 2 41 3 #ifndef _PWD_H 4 #define _PWD_H 42 /** 43 * FreeBSD 5.2 44 * @changed bird: some EMXisms. 45 */ 5 46 6 #if defined (__cplusplus) 7 extern "C" { 47 #ifndef _PWD_H_ 48 #define _PWD_H_ 49 #define _PWD_H /* bird: EMX */ 50 51 #include <sys/cdefs.h> 52 #include <sys/_types.h> 53 54 #if !defined(_GID_T_DECLARED) && !defined(_GID_T) /* bird */ 55 typedef __gid_t gid_t; 56 #define _GID_T_DECLARED 57 #define _GID_T /* bird */ 8 58 #endif 9 59 10 #if !defined (_PASSWORD_LEN) 11 #define _PASSWORD_LEN 128 60 #if !defined(_TIME_T_DECLARED) && !defined(_TIME_T) /* bird */ 61 typedef __time_t time_t; 62 #define _TIME_T_DECLARED 63 #define _TIME_T /* bird */ 12 64 #endif 13 65 14 #if !defined (_GID_T) 15 #define _GID_T 16 typedef int gid_t; 66 #if !defined(_UID_T_DECLARED) && !defined(_UID_T) /* bird */ 67 typedef __uid_t uid_t; 68 #define _UID_T_DECLARED 69 #define _UID_T /* bird */ 17 70 #endif 18 71 19 #if !defined (_UID_T) 20 #define _UID_T 21 typedef int uid_t; 72 #if !defined(_SIZE_T_DECLARED) && !defined(_SIZE_T) /* bird */ 73 typedef __size_t size_t; 74 #define _SIZE_T_DECLARED 75 #define _SIZE_T /* bird */ 22 76 #endif 23 77 24 struct passwd 25 { 26 char *pw_name; 27 char *pw_passwd; 28 uid_t pw_uid; 29 gid_t pw_gid; 30 char *pw_age; 31 char *pw_comment; 32 char *pw_gecos; 33 char *pw_dir; 34 char *pw_shell; 78 79 #define _PATH_PWD "/etc" 80 #define _PATH_PASSWD "/etc/passwd" 81 #define _PASSWD "passwd" 82 #define _PATH_MASTERPASSWD "/etc/master.passwd" 83 #define _MASTERPASSWD "master.passwd" 84 85 #define _PATH_MP_DB "/etc/pwd.db" 86 #define _MP_DB "pwd.db" 87 #define _PATH_SMP_DB "/etc/spwd.db" 88 #define _SMP_DB "spwd.db" 89 90 #define _PATH_PWD_MKDB "/usr/sbin/pwd_mkdb" 91 92 /* Historically, the keys in _PATH_MP_DB/_PATH_SMP_DB had the format 93 * `1 octet tag | key', where the tag is one of the _PW_KEY* values 94 * listed below. These values happen to be ASCII digits. Starting 95 * with FreeBSD 5.1, the tag is now still a single octet, but the 96 * upper 4 bits are interpreted as a version. Pre-FreeBSD 5.1 format 97 * entries are version `3' -- this conveniently results in the same 98 * key values as before. The new, architecture-independent entries 99 * are version `4'. 100 * As it happens, some applications read the database directly. 101 * (Bad app, no cookie!) Thus, we leave the _PW_KEY* symbols at their 102 * old pre-FreeBSD 5.1 values so these apps still work. Consequently 103 * we have to do muck around a bit more to get the correct, versioned 104 * tag, and that is what the _PW_VERSIONED macros is about. 105 */ 106 107 #define _PW_VERSION_MASK '0xF0' 108 #define _PW_VERSIONED(x, v) ((unsigned char)(((x) & 0xCF) | ((v)<<4))) 109 110 #define _PW_KEYBYNAME '\x31' /* stored by name */ 111 #define _PW_KEYBYNUM '\x32' /* stored by entry in the "file" */ 112 #define _PW_KEYBYUID '\x33' /* stored by uid */ 113 #define _PW_KEYYPENABLED '\x34' /* YP is enabled */ 114 #define _PW_KEYYPBYNUM '\x35' /* special +@netgroup entries */ 115 116 /* The database also contains a key to indicate the format version of 117 * the entries therein. There may be other, older versioned entries 118 * as well. 119 */ 120 #define _PWD_VERSION_KEY "\xFF" "VERSION" 121 #define _PWD_CURRENT_VERSION '\x04' 122 123 #define _PASSWORD_EFMT1 '_' /* extended encryption format */ 124 125 #define _PASSWORD_LEN 128 /* max length, not counting NULL */ 126 127 struct passwd { 128 char *pw_name; /* user name */ 129 char *pw_passwd; /* encrypted password */ 130 uid_t pw_uid; /* user uid */ 131 gid_t pw_gid; /* user gid */ 132 time_t pw_change; /* password change time */ 133 char *pw_class; /* user access class */ 134 char *pw_gecos; /* Honeywell login info */ 135 char *pw_dir; /* home directory */ 136 char *pw_shell; /* default shell */ 137 time_t pw_expire; /* account expiration */ 138 int pw_fields; /* internal: fields filled in */ 35 139 }; 36 140 141 /* Mapping from fields to bits for pw_fields. */ 142 #define _PWF(x) (1 << x) 143 #define _PWF_NAME _PWF(0) 144 #define _PWF_PASSWD _PWF(1) 145 #define _PWF_UID _PWF(2) 146 #define _PWF_GID _PWF(3) 147 #define _PWF_CHANGE _PWF(4) 148 #define _PWF_CLASS _PWF(5) 149 #define _PWF_GECOS _PWF(6) 150 #define _PWF_DIR _PWF(7) 151 #define _PWF_SHELL _PWF(8) 152 #define _PWF_EXPIRE _PWF(9) 153 154 /* XXX These flags are bogus. With nsswitch, there are many 155 * possible sources and they cannot be represented in a small integer. 156 */ 157 #define _PWF_SOURCE 0x3000 158 #define _PWF_FILES 0x1000 159 #define _PWF_NIS 0x2000 160 #define _PWF_HESIOD 0x3000 161 162 __BEGIN_DECLS 163 struct passwd *getpwnam(const char *); 164 struct passwd *getpwuid(uid_t); 165 166 #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE >= 500 167 void endpwent(void); 168 struct passwd *getpwent(void); 169 void setpwent(void); 170 int getpwnam_r(const char *, struct passwd *, char *, size_t, 171 struct passwd **); 172 int getpwuid_r(uid_t, struct passwd *, char *, size_t, 173 struct passwd **); 174 #endif 175 176 #if __BSD_VISIBLE 177 int getpwent_r(struct passwd *, char *, size_t, struct passwd **); 178 int setpassent(int); 179 const char *user_from_uid(uid_t, int); 180 #endif 181 182 /* bird: emx stuff */ 37 183 char *getpass (__const__ char *); 38 184 char *_getpass1 (__const__ char *); 39 185 char *_getpass2 (__const__ char *, int); 186 __END_DECLS 40 187 41 struct passwd *getpwuid (uid_t); 42 struct passwd *getpwnam (__const__ char *); 188 #endif /* !_PWD_H_ */ 43 189 44 struct passwd *_getpwuid (uid_t);45 struct passwd *_getpwnam (__const__ char *);46 47 #if !defined (_POSIX_SOURCE) || defined(__USE_EMX)48 49 struct passwd *getpwent (void);50 void setpwent (void);51 void endpwent (void);52 53 struct passwd *_getpwent (void);54 void _setpwent (void);55 void _endpwent (void);56 57 #endif58 59 #if defined (__cplusplus)60 }61 #endif62 63 #endif /* not _PWD_H */ -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/stdlib.h
-
Property cvs2svn:cvs-rev
changed from
1.22
to1.23
r1504 r1505 262 262 /** @todo int daemon(int, int); */ 263 263 /** @todo char *devname(int, int); */ 264 /** @todo int getloadavg(double [], int); */ 264 int getloadavg(double [], int); 265 265 __const char * 266 266 getprogname(void); -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/sys/mount.h
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r1504 r1505 535 535 int fhstat(const struct fhandle *, struct stat *); 536 536 int fhstatfs(const struct fhandle *, struct statfs *); 537 #endif /* bird */ 537 538 int fstatfs(int, struct statfs *); 539 #if 0 /* bird: we don't do this. */ 538 540 int getfh(const char *, fhandle_t *); 539 541 #endif /* bird */ -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/sys/syslimits.h
-
Property cvs2svn:cvs-rev
changed from
1.2
to1.3
r1504 r1505 34 34 #ifndef LOGIN_NAME_MAX 35 35 /** Max login name length including terminating NULL. */ 36 #define LOGIN_NAME_MAX MAXLOGNAME36 #define LOGIN_NAME_MAX 17 37 37 #endif 38 38 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/include/unistd.h
-
Property cvs2svn:cvs-rev
changed from
1.16
to1.17
r1504 r1505 178 178 unsigned int alarm(unsigned int); 179 179 int chdir(const char *); 180 /** @todo int chown(const char *, uid_t, gid_t); */ 180 int chown(const char *, uid_t, gid_t); 181 181 int close(int); 182 182 char * cuserid(char *); /* bird: emx/todo/obosolete? */ … … 203 203 uid_t getuid(void); 204 204 int isatty(int); 205 /** @todo int link(const char *, const char *);*/ 205 int link(const char *, const char *); 206 206 #ifndef _LSEEK_DECLARED 207 207 #define _LSEEK_DECLARED … … 255 255 /* 1003.1-2001 */ 256 256 #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE 257 /** @todo int fchown(int, uid_t, gid_t); */ 258 /** @todo int readlink(const char *, char *, int); */ 257 int fchown(int, uid_t, gid_t); 258 int readlink(const char *, char *, int); 259 259 #endif 260 260 #if __POSIX_VISIBLE >= 200112 … … 270 270 */ 271 271 #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE >= 402 || __BSD_VISIBLE 272 /** @todo int symlink(const char * __restrict, const char * __restrict); */ 272 int symlink(const char * __restrict, const char * __restrict); 273 273 #endif 274 274 … … 283 283 /** @todo int getsid(pid_t _pid); */ 284 284 char *getwd(char *); /* LEGACY: obsoleted by getcwd() */ 285 /** @todo int lchown(const char *, uid_t, gid_t); */ 285 int lchown(const char *, uid_t, gid_t); 286 286 int lockf(int, int, off_t); 287 287 /** @todo int nice(int); */ … … 292 292 /** @todo int setreuid(uid_t, uid_t); */ 293 293 /* void swab(const void * __restrict, void * __restrict, ssize_t); */ 294 /** @todo void sync(void); */ 294 void sync(void); 295 295 /** @todo useconds_t ualarm(useconds_t, useconds_t); */ 296 296 int usleep(useconds_t); … … 325 325 /** @todo int des_cipher(const char *, char *, long, int); */ 326 326 /** @todo int des_setkey(const char *key); */ 327 /** @todo void endusershell(void); */ 327 void endusershell(void); 328 328 /** @todo int exect(const char *, char * const *, char * const *); */ 329 329 /** @todo char *fflagstostr(u_long); */ … … 334 334 /** @todo int getresgid(gid_t *, gid_t *, gid_t *); */ 335 335 /** @todo int getresuid(uid_t *, uid_t *, uid_t *); */ 336 /** @todo char *getusershell(void); */ 336 char *getusershell(void); 337 337 /** @todo int initgroups(const char *, gid_t); */ 338 338 /** @todo int iruserok(unsigned long, int, const char *, const char *); */ … … 340 340 /** @todo int issetugid(void); */ 341 341 /** @todo char *mkdtemp(char *); */ 342 /** @todo int mknod(const char *, mode_t, dev_t); */ 342 int mknod(const char *, mode_t, dev_t); 343 343 #ifndef _MKSTEMP_DECLARED 344 344 int mkstemp(char *); … … 374 374 #endif 375 375 /** @todo int setdomainname(const char *, int); */ 376 /** @todo int setgroups(int, const gid_t *); */ 376 int setgroups(int, const gid_t *); 377 377 /** @todo void sethostid(long); */ 378 378 /** @todo int sethostname(const char *, int); */ … … 387 387 /** @todo int setrgid(gid_t); */ 388 388 /** @todo int setruid(uid_t); */ 389 /** @todo void setusershell(void); */ 389 void setusershell(void); 390 390 /** @todo int strtofflags(char **, u_long *, u_long *); */ 391 391 /** @todo int swapon(const char *); */ … … 419 419 unsigned int _alarm(unsigned int); 420 420 int _chdir(const char *); 421 /** @todo int _chown(const char *, uid_t, gid_t); */ 421 int _chown(const char *, uid_t, gid_t); 422 422 int _close(int); 423 423 char *_cuserid(char *); 424 424 int _dup(int); 425 425 int _dup2(int, int); 426 /** @todo int _eaccess(const char *, int); */ 426 int _eaccess(const char *, int); 427 427 int _execl(const char *, const char *, ...); 428 428 int _execle(const char *, const char *, ...); … … 444 444 uid_t _getuid(void); 445 445 int _isatty(int); 446 /** @todo int _link(const char *, const char *);*/ 446 int _link(const char *, const char *); 447 447 #ifndef __LSEEK_DECLARED 448 448 #define __LSEEK_DECLARED -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/include/namespace.h
-
Property cvs2svn:cvs-rev
changed from
1.6
to1.7
r1504 r1505 29 29 #define _statfs _STD(statfs) 30 30 #define _fstatfs _STD(fstatfs) 31 #define nsdispatch _nsdispatch 31 32 32 33 #endif -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/alias/alias.smak
-
Property cvs2svn:cvs-rev
changed from
1.23
to1.24
r1504 r1505 23 23 _Exit _exit \ 24 24 mempcpy __mempcpy \ 25 memrchr _memrchr \ 26 __memrchr _memrchr \ 25 27 strnlen __strnlen 26 28 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/bsd/gen/getgrent.c
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r1504 r1505 48 48 #include <grp.h> 49 49 #include <nsswitch.h> 50 #if 0 50 51 #include <pthread.h> 51 52 #include <pthread_np.h> 53 #else 54 #endif 52 55 #include <stdio.h> 53 56 #include <stdlib.h> … … 410 413 411 414 rv = files_getstate(&st); 412 if (rv != 0) 415 if (rv != 0) 413 416 return (NS_UNAVAIL); 414 417 switch ((enum constants)mdata) { … … 479 482 } 480 483 rv = NS_NOTFOUND; 484 #ifndef __EMX__ 481 485 while ((line = fgetln(st->fp, &linesize)) != NULL) { 486 #else 487 char szLine[4096]; 488 while ((line = fgets(szLine, sizeof(szLine), st->fp)) != NULL) { 489 linesize = strlen(szLine); 490 #endif 482 491 if (line[linesize-1] == '\n') 483 492 linesize--; … … 496 505 memcpy(buffer, line, linesize); 497 506 buffer[linesize] = '\0'; 498 rv = __gr_parse_entry(buffer, linesize, grp, 507 rv = __gr_parse_entry(buffer, linesize, grp, 499 508 &buffer[linesize + 1], bufsize - linesize - 1, errnop); 500 509 if (rv & NS_TERMINATE) … … 846 855 847 856 rv = compat_getstate(&st); 848 if (rv != 0) 857 if (rv != 0) 849 858 return (NS_UNAVAIL); 850 859 switch ((enum constants)mdata) { … … 905 914 void *discard; 906 915 size_t bufsize, linesize; 907 int rv , stayopen, *errnop;916 int rv = 0, stayopen = 0, *errnop; /* bird: initialized to shut up GCC. */ 908 917 909 918 #define set_lookup_type(x, y) do { \ … … 1008 1017 } 1009 1018 rv = NS_NOTFOUND; 1019 #ifndef __EMX__ 1010 1020 while ((line = fgetln(st->fp, &linesize)) != NULL) { 1021 #else 1022 char szLine[4096]; 1023 while ((line = fgets(szLine, sizeof(szLine), st->fp)) != NULL) { 1024 linesize = strlen(szLine); 1025 #endif 1011 1026 if (line[linesize-1] == '\n') 1012 1027 linesize--; … … 1018 1033 st->name = malloc(p - line); 1019 1034 if (st->name == NULL) { 1035 #ifndef __EMX__ 1020 1036 syslog(LOG_ERR, 1021 1037 "getgrent memory allocation failure"); 1038 #endif 1022 1039 *errnop = ENOMEM; 1023 1040 rv = NS_UNAVAIL; … … 1029 1046 } 1030 1047 goto docompat; 1031 } 1048 } 1032 1049 rv = __gr_match_entry(line, linesize, how, name, gid); 1033 1050 if (rv != NS_SUCCESS) … … 1044 1061 memcpy(buffer, line, linesize); 1045 1062 buffer[linesize] = '\0'; 1046 rv = __gr_parse_entry(buffer, linesize, grp, 1063 rv = __gr_parse_entry(buffer, linesize, grp, 1047 1064 &buffer[linesize + 1], bufsize - linesize - 1, errnop); 1048 1065 if (rv & NS_TERMINATE) -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/bsd/gen/getmntinfo.c
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r1504 r1505 39 39 40 40 #include <sys/param.h> 41 #ifndef __EMX__ 41 42 #include <sys/ucred.h> 43 #endif 42 44 #include <sys/mount.h> 43 45 #include <stdlib.h> -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/bsd/gen/getnetgrent.c
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r1504 r1505 46 46 #include <string.h> 47 47 #include <unistd.h> 48 #ifdef __EMX__ 49 #include <netdb.h> 50 #endif 48 51 49 52 #ifdef YP … … 61 64 * for now I'm satisfied just to have something that works well 62 65 * without requiring massive code changes.) 63 * 66 * 64 67 * Therefore, to still permit the use of the local file and maintain 65 68 * optimum NIS performance, we allow for the following conditions: … … 152 155 void 153 156 setnetgrent(group) 154 c har *group;157 const char *group; /* bird: added const to match prototype.. */ 155 158 { 156 159 #ifdef YP … … 201 204 } 202 205 #else 203 if ( netf = fopen(_PATH_NETGROUP, "r")) {206 if ((netf = fopen(_PATH_NETGROUP, "r"))) { 204 207 #endif 205 208 if (parse_netgrp(group)) … … 524 527 char *group; 525 528 { 526 char *pos, *spos, *linep , *olinep;529 char *pos, *spos, *linep = NULL, *olinep = NULL; /* bird: shutting up GCC. */ 527 530 int len, olen; 528 531 int cont; -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/bsd/gen/getpwent.c
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r1504 r1505 49 49 #include <netdb.h> 50 50 #include <nsswitch.h> 51 #ifndef __EMX__ 51 52 #include <pthread.h> 52 53 #include <pthread_np.h> 54 #else 55 56 #endif 53 57 #include <pwd.h> 54 58 #include <stdlib.h> … … 197 201 struct passwd *, char *, size_t, int *); 198 202 void 199 setpwent(void)203 _STD(setpwent)(void) 200 204 { 201 205 static const ns_dtab dtab[] = { … … 215 219 216 220 int 217 setpassent(int stayopen)221 _STD(setpassent)(int stayopen) 218 222 { 219 223 static const ns_dtab dtab[] = { … … 235 239 236 240 void 237 endpwent(void)241 _STD(endpwent)(void) 238 242 { 239 243 static const ns_dtab dtab[] = { … … 470 474 if (*version < 3 || 471 475 *version >= sizeof(pwdb_versions)/sizeof(pwdb_versions[0])) { 476 #ifndef __EMX__ 472 477 syslog(LOG_CRIT, "Unsupported password database version %d", 473 478 *version); 479 #endif 474 480 res->close(res); 475 481 res = NULL; … … 531 537 enum nss_lookup_type how; 532 538 const char *name; 533 struct passwd *pwd ;539 struct passwd *pwd = NULL; /* bird: shut up GCC */ 534 540 char *buffer; 535 541 size_t bufsize, namesize; 536 542 uid_t uid; 537 543 uint32_t store; 538 int rv, stayopen , *errnop;544 int rv, stayopen = 0, *errnop; /* bird: shut up GCC */ 539 545 540 546 name = NULL; … … 657 663 658 664 static int 659 pwdb_match_entry_v3(char *entry, size_t entrysize, enum nss_lookup_type how, 665 pwdb_match_entry_v3(char *entry, size_t entrysize, enum nss_lookup_type how, 660 666 const char *name, uid_t uid) 661 667 { … … 671 677 if (how == nss_lt_all) 672 678 return (NS_SUCCESS); 673 if (how == nss_lt_name) 679 if (how == nss_lt_name) 674 680 return (strcmp(name, entry) == 0 ? NS_SUCCESS : NS_NOTFOUND); 675 681 for (p++; p < eom; p++) … … 727 733 728 734 static int 729 pwdb_match_entry_v4(char *entry, size_t entrysize, enum nss_lookup_type how, 735 pwdb_match_entry_v4(char *entry, size_t entrysize, enum nss_lookup_type how, 730 736 const char *name, uid_t uid) 731 737 { … … 741 747 if (how == nss_lt_all) 742 748 return (NS_SUCCESS); 743 if (how == nss_lt_name) 749 if (how == nss_lt_name) 744 750 return (strcmp(name, entry) == 0 ? NS_SUCCESS : NS_NOTFOUND); 745 751 for (p++; p < eom; p++) … … 995 1001 } else 996 1002 rv = 1; 997 } 1003 } 998 1004 free(result); 999 1005 return (rv); … … 1029 1035 enum nss_lookup_type how; 1030 1036 int *errnop, keylen, resultlen, rv, master; 1031 1037 1032 1038 name = NULL; 1033 1039 uid = (uid_t)-1; … … 1187 1193 return (0); 1188 1194 enomem: 1195 #ifndef __EMX__ 1189 1196 syslog(LOG_ERR, "getpwent memory allocation failure"); 1197 #endif 1190 1198 return (-1); 1191 1199 } … … 1214 1222 copy = malloc(n); 1215 1223 if (copy == NULL) { 1224 #ifndef __EMX__ 1216 1225 syslog(LOG_ERR, "getpwent memory allocation failure"); 1226 #endif 1217 1227 return (ENOMEM); 1218 1228 } … … 1465 1475 enum nss_lookup_type how; 1466 1476 const char *name; 1467 struct passwd *pwd ;1477 struct passwd *pwd = NULL; /* bird: shut up gcc. */ 1468 1478 char *buffer, *pw_name; 1469 1479 char *host, *user, *domain; … … 1471 1481 uid_t uid; 1472 1482 uint32_t store; 1473 int rv, from_compat, stayopen , *errnop;1483 int rv, from_compat, stayopen = 0, *errnop; /* bird: shut up gcc. */ 1474 1484 1475 1485 from_compat = 0; … … 1593 1603 st->name = strdup(&pw_name[1]); 1594 1604 if (st->name == NULL) { 1605 #ifndef __EMX__ 1595 1606 syslog(LOG_ERR, 1596 1607 "getpwent memory allocation failure"); 1608 #endif 1597 1609 *errnop = ENOMEM; 1598 1610 rv = NS_UNAVAIL; … … 1625 1637 setnetgrent(&pw_name[2]); 1626 1638 while (getnetgrent(&host, &user, &domain) != 1627 NULL) {1639 0) { /* bird: getnetgrent returns int not pointer. */ 1628 1640 if (user != NULL && user[0] != '\0') 1629 1641 compat_exclude(user, … … 1664 1676 st->db = NULL; 1665 1677 } 1666 if (rv == NS_SUCCESS) { 1678 if (rv == NS_SUCCESS) { 1667 1679 if (!from_compat) { 1668 1680 pwd->pw_fields &= ~_PWF_SOURCE; -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/bsd/net/nsdispatch.c
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r1504 r1505 80 80 #define _NS_PRIVATE 81 81 #include <nsswitch.h> 82 #ifndef __EMX__ 82 83 #include <pthread.h> 84 #else /* bird: temporary hack. */ 85 #define _pthread_mutex_trylock(lock) (*lock) 86 #define _pthread_mutex_unlock(lock) (*lock) 87 #define _pthread_rwlock_rdlock(lock) (*lock) 88 #define _pthread_rwlock_wrlock(lock) (*lock) 89 #define _pthread_rwlock_unlock(lock) (*lock) 90 #define pthread_rwlock_t unsigned 91 #define PTHREAD_RWLOCK_INITIALIZER 0 92 #define pthread_mutex_t unsigned 93 #define PTHREAD_MUTEX_INITIALIZER 0 94 #endif 83 95 #include <stdio.h> 84 96 #include <stdlib.h> … … 124 136 static int __nss_builtin_handle; 125 137 static void *nss_builtin_handle = &__nss_builtin_handle; 138 139 #ifdef __EMX__ 140 # define syslog(level, format, ...) do { } while (0) 141 #endif 126 142 127 143 /* … … 248 264 { 249 265 int cmp; 250 266 251 267 cmp = strcmp(((const ns_mtab *)a)->name, ((const ns_mtab *)b)->name); 252 268 if (cmp != 0) … … 306 322 307 323 308 /* 324 /* 309 325 * The first time nsdispatch is called (during a process's lifetime, 310 326 * or after nsswitch.conf has been updated), nss_configure will … … 442 458 } 443 459 if (reg_fn != NULL) { 444 /* The placeholder is required, as a NULL handle 460 /* The placeholder is required, as a NULL handle 445 461 * represents an invalid module. 446 462 */ … … 450 466 goto fin; 451 467 else { 468 #ifndef __EMX__ 452 469 if (snprintf(buf, sizeof(buf), "nss_%s.so.%d", mod.name, 453 470 NSS_MODULE_INTERFACE_VERSION) >= (int)sizeof(buf)) … … 471 488 goto fin; 472 489 } 490 #else /* bird: dlfcn.h stuff later. */ 491 buf[0] = '\0'; 492 nss_log(LOG_ERR, "%s, dynamic loading not implemented in the LIBC port yet.", mod.name); 493 goto fin; 494 #endif 473 495 } 474 496 mod.mtab = fn(mod.name, &mod.mtabsize, &mod.unregister); 475 497 if (mod.mtab == NULL || mod.mtabsize == 0) { 498 #ifndef __EMX__ 476 499 if (mod.handle != nss_builtin_handle) 477 500 (void)dlclose(mod.handle); 501 #endif 478 502 mod.handle = NULL; 479 503 nss_log(LOG_ERR, "%s, registration failed", mod.name); … … 499 523 if (mod->unregister != NULL) 500 524 mod->unregister(mod->mtab, mod->mtabsize); 525 #ifndef __EMX__ 501 526 if (mod->handle != nss_builtin_handle) 502 527 (void)dlclose(mod->handle); 528 #endif 503 529 } 504 530 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/bsd/net/nslexer.l
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r1504 r1505 40 40 #include <sys/cdefs.h> 41 41 #if defined(LIBC_SCCS) && !defined(lint) 42 static char *rcsid = 42 static char *rcsid = 43 43 "$FreeBSD: src/lib/libc/net/nslexer.l,v 1.5 2003/04/17 14:14:22 nectar Exp $"; 44 44 #endif /* LIBC_SCCS and not lint */ … … 87 87 88 88 if ((p = strdup(yytext)) == NULL) { 89 #ifndef __EMX__ 89 90 syslog(LOG_ERR, 90 91 "NSSWITCH(nslexer): memory allocation failure"); 92 #endif 91 93 return ERRORTOKEN; 92 94 } … … 114 116 const char *msg; 115 117 { 116 118 #ifndef __EMX__ 117 119 syslog(LOG_ERR, "NSSWITCH(nslexer): %s line %d: %s at '%s'", 118 120 _PATH_NS_CONF, yylineno, msg, yytext); 121 #endif 119 122 } /* _nsyyerror */ -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/bsd/net/nsparser.y
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r1504 r1505 128 128 { 129 129 if ($3) /* if action == RETURN set RETURN bit */ 130 cursrc.flags |= $1; 130 cursrc.flags |= $1; 131 131 else /* else unset it */ 132 132 cursrc.flags &= ~$1; … … 160 160 if ((strcasecmp(elem, NSSRC_COMPAT) == 0) || 161 161 (strcasecmp(curdbt.srclist[0].name, NSSRC_COMPAT) == 0)) { 162 #ifndef __EMX__ 162 163 syslog(LOG_ERR, 163 164 "NSSWITCH(nsparser): %s line %d: 'compat' used with other sources", 164 165 _PATH_NS_CONF, lineno); 166 #endif 165 167 return; 166 168 } … … 168 170 for (i = 0; i < curdbt.srclistsize; i++) { 169 171 if (strcasecmp(curdbt.srclist[i].name, elem) == 0) { 172 #ifndef __EMX__ 170 173 syslog(LOG_ERR, 171 174 "NSSWITCH(nsparser): %s line %d: duplicate source '%s'", 172 175 _PATH_NS_CONF, lineno, elem); 176 #endif 173 177 return; 174 178 } -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/libc.def
-
Property cvs2svn:cvs-rev
changed from
1.61
to1.62
r1504 r1505 696 696 "__std_getpid" @718 697 697 "__std_getppid" @719 698 "__std_getpw" @720698 ; "__std_getpw" @720 699 699 "__std_getpwent" @721 700 700 "__std_getpwnam" @722 … … 1119 1119 1120 1120 "___libc_SpmCheck" @1140 1121 "___libc_Back_miscLoadAvg" @1141 1122 "___libc_Back_fhToPath" @1142 1123 "___libc_Back_fsStat" @1143 1124 "___libc_Back_fsStatFH" @1144 1125 "___libc_Back_fsStats" @1145 1126 "_getmntinfo" @1146 1127 "__std_fstatfs" @1147 1128 "__std_fstatvfs" @1148 1129 "__std_getfsstat" @1149 1130 "__std_getloadavg" @1150 1131 "__std_statfs" @1151 1132 "__std_statvfs" @1152 1133 "__std_chown" @1153 1134 "__std_fchown" @1154 1135 "__std_lchown" @1155 1136 "__std_link" @1156 1137 "__std_mknod" @1157 1138 "__std_readlink" @1158 1139 "__std_symlink" @1159 1140 "___libc_Back_fsSync" @1160 1141 "__std_sync" @1161 1142 "_endgrent" @1162 1143 "_getgrent" @1163 1144 "_getgrent_r" @1164 1145 "_getgrgid_r" @1165 1146 "_getgrnam_r" @1166 1147 "___gr_match_entry" @1167 1148 "___gr_parse_entry" @1168 1149 "__nsdbtaddsrc" @1169 1150 "__nsdbtput" @1170 1151 "___nsdefaultsrc" @1171 1152 "__nsdispatch" @1172 1153 "_setgrent" @1173 1154 "_setgroupent" @1174 1155 "_endnetgrent" @1175 1156 "_endusershell" @1176 1157 "_getnetgrent" @1177 1158 "_getpwent_r" @1178 1159 "_getpwnam_r" @1179 1160 "_getpwuid_r" @1180 1161 "_getusershell" @1181 1162 "_innetgr" @1182 1163 "_pwdb_versions" @1183 1164 "___pw_match_entry" @1184 1165 "___pw_parse_entry" @1185 1166 "___pw_scan" @1186 1167 "_setnetgrent" @1187 1168 "_setusershell" @1188 1169 "_sl_add" @1189 1170 "_sl_find" @1190 1171 "_sl_free" @1191 1172 "_sl_init" @1192 1173 "__std_setpassent" @1193 1174 "__std_setgroups" @1194 1175 "___libc_OS2ErrorPop" @1195 1176 "___libc_OS2ErrorPush" @1196 1177 "___libc_OS2ErrorSet" @1197 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/libc.smak
-
Property cvs2svn:cvs-rev
changed from
1.44
to1.45
r1504 r1505 144 144 $(1): $(subst /omf/,/aout/,$(2)) 145 145 $(subst /omf/,/omf-log/,$(1)): $(subst /omf/,/aout-log/,$(2)) 146 $(subst /omf/,/omf-perf/,$(1)): $(subst /omf/,/aout-pref/,$(2)) 146 $(subst /omf/,/omf-prof/,$(1)): $(subst /omf/,/aout-prof/,$(2)) 147 147 148 endef 148 149 $(foreach o,$(LIBC.OBJS.COMMON),$(eval $(call def_libc_omf_dep,$(o),$(patsubst %.obj,%.o,$(o))))) … … 170 171 @$(call FECHO,$@,EXPORTS) 171 172 $(call DO.EMXEXP,$(filter %.lib,$^),$@) 172 sed -e "/\"___pfn/d" -e "/\"__sys_/d" -e "/\"___sys_/d" -e "/\"___libc_[a-z]/d" $@ > $@.tmp173 sed -e "/\"___pfn/d" -e "/\"__sys_/d" -e "/\"___sys_/d" -e "/\"___libc_[a-z]/d" -e "/\"__nsyy/d" $@ > $@.tmp 173 174 mv -f $@.tmp $@ 174 175 krx.exe src/lib/dlllegacy.cmd -e "_DLL_InitTerm" $@ src/lib/libc.def -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/misc/getgrgid.c
-
Property cvs2svn:cvs-rev
changed from
1.5
to1.6
r1504 r1505 1 1 /* getgrgid.c (emx+gcc) -- Copyright (c) 1994-1995 by Eberhard Mattes */ 2 2 3 #if 0 3 4 #include "libc-alias.h" 4 5 #include <string.h> … … 19 20 return &tmp_grp; 20 21 } 22 #endif -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/misc/getgrnam.c
-
Property cvs2svn:cvs-rev
changed from
1.4
to1.5
r1504 r1505 1 1 /* getgrnam.c (emx+gcc) -- Copyright (c) 1994-1995 by Eberhard Mattes */ 2 2 3 #if 0 3 4 #include "libc-alias.h" 4 5 #include <string.h> … … 21 22 return &tmp_grp; 22 23 } 24 25 #endif -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/misc/getgroup.c
-
Property cvs2svn:cvs-rev
changed from
1.4
to1.5
r1504 r1505 1 1 /* getgroup.c (emx+gcc) -- Copyright (c) 1994-1995 by Eberhard Mattes */ 2 2 3 /******************************************************************************* 4 * Header Files * 5 *******************************************************************************/ 3 6 #include "libc-alias.h" 4 7 #include <unistd.h> 8 #include <stdlib.h> 9 #include <string.h> 5 10 #include <sys/types.h> 11 #define __LIBC_LOG_GROUP __LIBC_LOG_GRP_MISC 12 #include <InnoTekLIBC/logstrict.h> 6 13 7 int _STD(getgroups) (int gidsetsize, gid_t grouplist []) 14 /******************************************************************************* 15 * Global Variables * 16 *******************************************************************************/ 17 /** Pointer to array of groups. */ 18 static gid_t *gpaGroups; 19 /** Count of groups in array. */ 20 static int gcGroups; 21 22 int _STD(getgroups) (int gidsetlen, gid_t grouplist []) 8 23 { 9 return 0; 24 LIBCLOG_ENTER("gidsetlen=%d grouplist=%p\n", gidsetlen, (void *)grouplist); 25 if (gcGroups) 26 { 27 int c = gidsetlen >= gcGroups ? gcGroups : gidsetlen; 28 memcpy(grouplist, gpaGroups, c * sizeof(gid_t)); 29 LIBCLOG_RETURN_INT(c); 30 } 31 32 LIBCLOG_RETURN_INT(0); 10 33 } 34 35 36 int _STD(setgroups)(int ngroups, const gid_t *grouplist) 37 { 38 LIBCLOG_ENTER("ngroups=%d grouplist=%p\n", ngroups, (void *)grouplist); 39 40 void *pv = realloc(gpaGroups, (ngroups + 1) * sizeof(gid_t)); 41 if (!pv) 42 LIBCLOG_RETURN_INT(-1); 43 44 gpaGroups = memcpy(pv, grouplist, ngroups * sizeof(gid_t)); 45 gpaGroups[ngroups] = -1; 46 gcGroups = ngroups; 47 48 LIBCLOG_RETURN_INT(0); 49 } -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/misc/getpwnam.c
-
Property cvs2svn:cvs-rev
changed from
1.4
to1.5
r1504 r1505 1 1 /* getpwnam.c (emx+gcc) -- Copyright (c) 1994-1996 by Eberhard Mattes */ 2 2 #if 0 3 3 #include "libc-alias.h" 4 4 #include <stdlib.h> … … 19 19 return _getpw (0, name); 20 20 } 21 #endif -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/misc/getpwuid.c
-
Property cvs2svn:cvs-rev
changed from
1.4
to1.5
r1504 r1505 1 1 /* getpwuid.c (emx+gcc) -- Copyright (c) 1994-1996 by Eberhard Mattes */ 2 2 #if 0 3 3 #include "libc-alias.h" 4 4 #include <stdlib.h> … … 13 13 return _getpw (uid, NULL); 14 14 } 15 16 #endif -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/misc/pwd.c
-
Property cvs2svn:cvs-rev
changed from
1.5
to1.6
r1504 r1505 1 1 /* pwd.c (emx+gcc) -- Copyright (c) 1990-1996 by Eberhard Mattes */ 2 3 #if 0 2 4 3 5 #include "libc-alias.h" … … 71 73 { 72 74 } 75 76 #endif -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/sys/sharedpm.c
-
Property cvs2svn:cvs-rev
changed from
1.5
to1.6
r1504 r1505 866 866 } 867 867 868 869 /** 870 * Get the stored load average samples. 871 * 872 * @returns 0 on success. 873 * @returns -1 and errno on failure. 874 * @param pLoadAvg Where to store the load average samples. 875 * @param puTimestamp Where to store the current timestamp. 876 */ 877 int __libc_spmGetLoadAvg(__LIBC_PSPMLOADAVG pLoadAvg, unsigned *puTimestamp) 878 { 879 __LIBC_SPMXCPTREGREC RegRec; 880 int rc; 881 __LIBC_SPMLOADAVG LoadAvg; 882 883 rc = spmRequestMutex(&RegRec); 884 if (rc) 885 return rc; 886 887 /* copy to temp buffer. */ 888 LoadAvg = gpSPMHdr->LoadAvg; 889 890 spmReleaseMutex(&RegRec); 891 892 /* copy to return buffer. */ 893 *pLoadAvg = LoadAvg; 894 *puTimestamp = spmTimestamp(); 895 896 return rc; 897 } 898 899 900 /** 901 * Get the stored load average samples. 902 * 903 * @returns 0 on success. 904 * @returns -1 and errno on failure. 905 * @param pLoadAvg Where to store the load average samples. 906 */ 907 int __libc_spmSetLoadAvg(const __LIBC_SPMLOADAVG *pLoadAvg) 908 { 909 __LIBC_SPMXCPTREGREC RegRec; 910 int rc; 911 __LIBC_SPMLOADAVG LoadAvg; 912 913 /* copy to temp buffer. */ 914 LoadAvg = *pLoadAvg; 915 LoadAvg.uTimestamp = spmTimestamp(); 916 917 rc = spmRequestMutex(&RegRec); 918 if (rc) 919 return rc; 920 921 gpSPMHdr->LoadAvg = LoadAvg; 922 923 spmReleaseMutex(&RegRec); 924 return rc; 925 } 868 926 869 927 -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.