write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+#include <errno.h>
#include <netinet/ether.h>
#include <netinet/if_ether.h>
#include <string.h>
/* Type of the lookup function we need here. */
-typedef int (*lookup_function) (const char *, struct etherent *, char *, int);
+typedef int (*lookup_function) (const char *, struct etherent *, char *, int,
+ int *);
/* The lookup function for the first entry of this service. */
extern int __nss_ethers_lookup (service_user **nip, const char *name,
struct __netgrent *datap,
char *buffer, size_t buflen, int *errnop)
{
- enum nss_status (*fct) (struct __netgrent *, char *, size_t);
+ enum nss_status (*fct) (struct __netgrent *, char *, size_t, int *);
int no_more;
/* Initialize status to return if no more functions are found. */
/* We need to define a special parser for /proc/cpuinfo. */
-#define GET_NPROCS_PARSER(FP, BUFFER, RESULT) \
- do \
- { \
- (RESULT) = 0; \
- /* Find the line that contains the information about the number of \
- active cpus. We don't have to fear extremely long lines since \
- the kernel will not generate them. 8192 bytes are really \
- enough. */ \
- while (fgets_unlocked (BUFFER, sizeof (BUFFER), FP) != NULL) \
- if (sscanf (BUFFER, "CPUs probed %*d active %d", &(RESULT)) == 1) \
- break; \
- } \
+#define GET_NPROCS_PARSER(FP, BUFFER, RESULT) \
+ do \
+ { \
+ /* Find the line that contains the information about the number of \
+ active cpus. We don't have to fear extremely long lines since \
+ the kernel will not generate them. 8192 bytes are really enough. \
+ If there is no "CPUs ..." line then we are on a UP system. */ \
+ (RESULT) = 1; \
+ while (fgets_unlocked (BUFFER, sizeof (BUFFER), FP) != NULL) \
+ if (sscanf (BUFFER, "CPUs probed %*d active %d", &(RESULT)) == 1) \
+ break; \
+ } \
while (0)
/* On the Alpha we can distinguish between the number of configured and
active cpus. */
-#define GET_NPROCS_CONF_PARSER(FP, BUFFER, RESULT) \
- do \
- { \
- (RESULT) = 0; \
- /* Find the line that contains the information about the number of \
- probed cpus. We don't have to fear extremely long lines since \
- the kernel will not generate them. 8192 bytes are really \
- enough. */ \
- while (fgets_unlocked ((BUFFER), sizeof (BUFFER), (FP)) != NULL) \
- if (sscanf (buffer, "CPUs probed %d", &(RESULT)) == 1) \
- break; \
- } \
+#define GET_NPROCS_CONF_PARSER(FP, BUFFER, RESULT) \
+ do \
+ { \
+ /* Find the line that contains the information about the number of \
+ probed cpus. We don't have to fear extremely long lines since \
+ the kernel will not generate them. 8192 bytes are really enough. \
+ If there is no "CPUs ..." line then we are on a UP system. */ \
+ (RESULT) = 1; \
+ while (fgets_unlocked ((BUFFER), sizeof (BUFFER), (FP)) != NULL) \
+ if (sscanf (buffer, "CPUs probed %d", &(RESULT)) == 1) \
+ break; \
+ } \
while (0)
#include <sysdeps/unix/sysv/linux/getsysstats.c>