]> andersk Git - splint.git/blame - imports/stdlib.lcl
noexpand always false.
[splint.git] / imports / stdlib.lcl
CommitLineData
885824d3 1/*
2** stdlib.lcl
3**
4** based on red-cross:/usr/include/stdlib.h
5** also includes misc functions from man bcopy
6** man memory
7*/
8
9typedef unsigned int size_t;
10typedef unsigned int wchar_t;
11
12typedef struct {
13 int quot; /* quotient */
14 int rem; /* remainder */
15 } div_t; /* result of div() */
16
17typedef struct {
18 long quot; /* quotient */
19 long rem; /* remainder */
20 } ldiv_t; /* result of ldiv() */
21
22constant null void *NULL; /* should be constant */
23
24constant int EXIT_FAILURE, EXIT_SUCCESS;
25constant long RAND_MAX;
26
27constant int MB_CUR_MAX;
28
29void abort(void)
30{
31 ensures true;
32}
33
34int abs(int i)
35{
36 ensures result = abs(i);
37}
38
39int atexit (void (*f)())
40{
41 ensures true;
42}
43
44double atof (char *nptr)
45{
46 ensures true ; /* sprintf(result) = nptr^ ? */
47}
48
49int atoi (char *nptr)
50{
51 ensures true ;
52}
53
54long atol (char *nptr)
55{
56 ensures true ;
57}
58
59void *bsearch (void *key, void *base, size_t nel, size_t size,
60 int (*compar)(void *, void *))
61{
62 ensures true ;
63}
64
65void *calloc (size_t nelem, size_t size)
66{
67 ensures true ;
68}
69
70div_t div (int numer, int denom)
71{
72 ensures true;
73}
74
75void exit(int status)
76{
77 ensures true;
78}
79
80void free(void *ptr)
81{
82 modifies *ptr;
83 ensures true; /* trashed(ptr); */
84}
85
86char *getenv (char *name)
87{
88 ensures true;
89}
90
91long labs (long j)
92{
93 ensures true;
94}
95
96ldiv_t ldiv (long numer, long denum)
97{
98 ensures true;
99}
100
101void *malloc (size_t size)
102{
103 ensures true;
104}
105
106int mblen (char *s, size_t n)
107{
108 ensures true;
109}
110
111size_t mbstowcs ( wchar_t *pwcs, char *s, size_t n)
112{
113 modifies *pwcs;
114 ensures true;
115}
116
117int mbtowc (wchar_t *pwc, char *s, size_t n)
118{
119 modifies *pwc;
120 ensures true;
121}
122
123void qsort (void *base, size_t nel, size_t width,
124 int (*compar)(void *, void *))
125{
126 modifies *base;
127 ensures true;
128}
129
130int rand (void)
131{
132 ensures true;
133}
134
135void *realloc(void *ptr, size_t size)
136{
137 ensures true;
138}
139
140void srand (unsigned int seed)
141{
142 ensures true;
143}
144
145double strtod (char *nptr, char **eptr)
146{
147 modifies *eptr;
148 ensures true;
149}
150
151long strtol (char *nptr, char **eptr, int base)
152{
153 modifies *eptr;
154 ensures true;
155}
156
157unsigned long strtoul (char *nptr, char **eptr, int base)
158{
159 modifies *eptr;
160 ensures true;
161}
162
163int system (char *string)
164{
165 ensures true;
166}
167
168size_t wcstombs (char *s, wchar_t *pwcs, size_t n)
169{
170 modifies *s;
171 ensures true;
172}
173
174int wctomb (char *s, wchar_t wchar)
175{
176 modifies *s;
177 ensures true;
178}
179
180/*
181** not part of stdlib.h, but built in to c?
182*/
183
184void bcopy (char *b1, char *b2, int length)
185{
186 modifies *b2;
187 ensures true;
188}
189
190| bool : int | bcmp (char *b1, char *b2, int length)
191{
192 ensures true;
193}
194
195void bzero (char *b1, int length)
196{
197 modifies *b1;
198 ensures true;
199}
200
201int ffs (int i)
202{
203 ensures true;
204}
205
206void *memccpy (void *s1, void *s2, int c, size_t n)
207{
208 modifies *s1;
209 ensures true;
210}
211
212void *memchr (void *s, int c, size_t n)
213{
214 ensures true;
215}
216
217| bool : int | memcmp (void *s1, void *s2, size_t n)
218{
219 ensures true;
220}
221
222void *memcpy (void *s1, void *s2, size_t n)
223{
224 modifies *s1;
225 ensures true;
226}
227
228void *memset (void *s, int c, size_t n)
229{
230 modifies *s;
231 ensures true;
232}
233
234void *memmove (void *s1, void *s2, size_t n)
235{
236 modifies *s1;
237 ensures true;
238}
239
240
241
242
243
244
245
246
This page took 0.103117 seconds and 5 git commands to generate.