summaryrefslogtreecommitdiff
path: root/include/stdlib.h
diff options
context:
space:
mode:
authorkleink <kleink@NetBSD.org>2000-03-06 18:32:22 +0000
committerkleink <kleink@NetBSD.org>2000-03-06 18:32:22 +0000
commite4d7c2e329d54c97e0c0bd3016bbe74f550c3d5e (patch)
treedad50fc696dad6faa59314f6bbaec3ab2afe54de /include/stdlib.h
parentc34cce88c4b65eec3966ad32b354f2fa5dfbd752 (diff)
Add ISO C99 long long integer general utility interfaces; partially addresses
PR standards/9482.
Diffstat (limited to 'include/stdlib.h')
-rw-r--r--include/stdlib.h33
1 files changed, 30 insertions, 3 deletions
diff --git a/include/stdlib.h b/include/stdlib.h
index cc394590da1..a354436ac32 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -1,4 +1,4 @@
-/* $NetBSD: stdlib.h,v 1.44 2000/01/10 16:58:38 kleink Exp $ */
+/* $NetBSD: stdlib.h,v 1.45 2000/03/06 18:32:23 kleink Exp $ */
/*-
* Copyright (c) 1990, 1993
@@ -68,8 +68,19 @@ typedef struct {
long rem; /* remainder */
} ldiv_t;
-#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
- !defined(_XOPEN_SOURCE)
+#if !defined(_ANSI_SOURCE) && \
+ (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE) || \
+ defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) >= 199901L)
+typedef struct {
+ /* LONGLONG */
+ long long int quot; /* quotient */
+ /* LONGLONG */
+ long long int rem; /* remainder */
+} lldiv_t;
+#endif
+
+#if !defined(_ANSI_SOURCE) && !defined(_ISOC99_SOURCE) && \
+ !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)
typedef struct {
quad_t quot; /* quotient */
quad_t rem; /* remainder */
@@ -189,6 +200,22 @@ int ttyslot __P((void));
void *valloc __P((size_t)); /* obsoleted by malloc() */
#endif
+/*
+ * ISO C99
+ */
+#if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || \
+ defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) >= 199901L
+/* LONGLONG */
+long long int atoll __P((const char *));
+/* LONGLONG */
+long long int llabs __P((long long int));
+/* LONGLONG */
+lldiv_t lldiv __P((long long int, long long int));
+/* LONGLONG */
+long long int strtoll __P((const char *, char **, int));
+/* LONGLONG */
+unsigned long long int strtoull __P((const char *, char **, int));
+#endif
/*
* Implementation-defined extensions