1 /*
2 * System call prototypes.
3 *
4 * DO NOT EDIT-- this file is automatically generated.
5 * $FreeBSD: releng/5.0/sys/compat/svr4/svr4_proto.h 92761 2002-03-20 05:48:58Z alfred $
6 * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.11 2000/08/31 22:54:05 obrien Exp
7 */
8
9 #ifndef _SVR4_SYSPROTO_H_
10 #define _SVR4_SYSPROTO_H_
11
12 #include <sys/signal.h>
13
14 #include <sys/acl.h>
15
16 struct proc;
17
18 struct thread;
19
20 #define PAD_(t) (sizeof(register_t) <= sizeof(t) ? \
21 0 : sizeof(register_t) - sizeof(t))
22
23 struct svr4_sys_open_args {
24 char * path; char path_[PAD_(char *)];
25 int flags; char flags_[PAD_(int)];
26 int mode; char mode_[PAD_(int)];
27 };
28 struct svr4_sys_wait_args {
29 int * status; char status_[PAD_(int *)];
30 };
31 struct svr4_sys_creat_args {
32 char * path; char path_[PAD_(char *)];
33 int mode; char mode_[PAD_(int)];
34 };
35 struct svr4_sys_execv_args {
36 char * path; char path_[PAD_(char *)];
37 char ** argp; char argp_[PAD_(char **)];
38 };
39 struct svr4_sys_time_args {
40 time_t * t; char t_[PAD_(time_t *)];
41 };
42 struct svr4_sys_mknod_args {
43 char * path; char path_[PAD_(char *)];
44 int mode; char mode_[PAD_(int)];
45 int dev; char dev_[PAD_(int)];
46 };
47 struct svr4_sys_break_args {
48 caddr_t nsize; char nsize_[PAD_(caddr_t)];
49 };
50 struct svr4_sys_stat_args {
51 char * path; char path_[PAD_(char *)];
52 struct svr4_stat * ub; char ub_[PAD_(struct svr4_stat *)];
53 };
54 struct svr4_sys_alarm_args {
55 unsigned sec; char sec_[PAD_(unsigned)];
56 };
57 struct svr4_sys_fstat_args {
58 int fd; char fd_[PAD_(int)];
59 struct svr4_stat * sb; char sb_[PAD_(struct svr4_stat *)];
60 };
61 struct svr4_sys_pause_args {
62 register_t dummy;
63 };
64 struct svr4_sys_utime_args {
65 char * path; char path_[PAD_(char *)];
66 struct svr4_utimbuf * ubuf; char ubuf_[PAD_(struct svr4_utimbuf *)];
67 };
68 struct svr4_sys_access_args {
69 char * path; char path_[PAD_(char *)];
70 int flags; char flags_[PAD_(int)];
71 };
72 struct svr4_sys_nice_args {
73 int prio; char prio_[PAD_(int)];
74 };
75 struct svr4_sys_kill_args {
76 int pid; char pid_[PAD_(int)];
77 int signum; char signum_[PAD_(int)];
78 };
79 struct svr4_sys_pgrpsys_args {
80 int cmd; char cmd_[PAD_(int)];
81 int pid; char pid_[PAD_(int)];
82 int pgid; char pgid_[PAD_(int)];
83 };
84 struct svr4_sys_times_args {
85 struct tms * tp; char tp_[PAD_(struct tms *)];
86 };
87 struct svr4_sys_signal_args {
88 int signum; char signum_[PAD_(int)];
89 svr4_sig_t handler; char handler_[PAD_(svr4_sig_t)];
90 };
91 #if defined(NOTYET)
92 struct svr4_sys_msgsys_args {
93 int what; char what_[PAD_(int)];
94 int a2; char a2_[PAD_(int)];
95 int a3; char a3_[PAD_(int)];
96 int a4; char a4_[PAD_(int)];
97 int a5; char a5_[PAD_(int)];
98 };
99 #else
100 #endif
101 struct svr4_sys_sysarch_args {
102 int op; char op_[PAD_(int)];
103 void * a1; char a1_[PAD_(void *)];
104 };
105 struct svr4_sys_ioctl_args {
106 int fd; char fd_[PAD_(int)];
107 u_long com; char com_[PAD_(u_long)];
108 caddr_t data; char data_[PAD_(caddr_t)];
109 };
110 struct svr4_sys_utssys_args {
111 void * a1; char a1_[PAD_(void *)];
112 void * a2; char a2_[PAD_(void *)];
113 int sel; char sel_[PAD_(int)];
114 void * a3; char a3_[PAD_(void *)];
115 };
116 struct svr4_sys_execve_args {
117 char * path; char path_[PAD_(char *)];
118 char ** argp; char argp_[PAD_(char **)];
119 char ** envp; char envp_[PAD_(char **)];
120 };
121 struct svr4_sys_fcntl_args {
122 int fd; char fd_[PAD_(int)];
123 int cmd; char cmd_[PAD_(int)];
124 char * arg; char arg_[PAD_(char *)];
125 };
126 struct svr4_sys_ulimit_args {
127 int cmd; char cmd_[PAD_(int)];
128 long newlimit; char newlimit_[PAD_(long)];
129 };
130 struct svr4_sys_getdents_args {
131 int fd; char fd_[PAD_(int)];
132 char * buf; char buf_[PAD_(char *)];
133 int nbytes; char nbytes_[PAD_(int)];
134 };
135 struct svr4_sys_getmsg_args {
136 int fd; char fd_[PAD_(int)];
137 struct svr4_strbuf * ctl; char ctl_[PAD_(struct svr4_strbuf *)];
138 struct svr4_strbuf * dat; char dat_[PAD_(struct svr4_strbuf *)];
139 int * flags; char flags_[PAD_(int *)];
140 };
141 struct svr4_sys_putmsg_args {
142 int fd; char fd_[PAD_(int)];
143 struct svr4_strbuf * ctl; char ctl_[PAD_(struct svr4_strbuf *)];
144 struct svr4_strbuf * dat; char dat_[PAD_(struct svr4_strbuf *)];
145 int flags; char flags_[PAD_(int)];
146 };
147 struct svr4_sys_poll_args {
148 struct pollfd * fds; char fds_[PAD_(struct pollfd *)];
149 unsigned int nfds; char nfds_[PAD_(unsigned int)];
150 int timeout; char timeout_[PAD_(int)];
151 };
152 struct svr4_sys_lstat_args {
153 char * path; char path_[PAD_(char *)];
154 struct svr4_stat * ub; char ub_[PAD_(struct svr4_stat *)];
155 };
156 struct svr4_sys_sigprocmask_args {
157 int how; char how_[PAD_(int)];
158 svr4_sigset_t * set; char set_[PAD_(svr4_sigset_t *)];
159 svr4_sigset_t * oset; char oset_[PAD_(svr4_sigset_t *)];
160 };
161 struct svr4_sys_sigsuspend_args {
162 svr4_sigset_t * ss; char ss_[PAD_(svr4_sigset_t *)];
163 };
164 struct svr4_sys_sigaltstack_args {
165 struct svr4_sigaltstack * nss; char nss_[PAD_(struct svr4_sigaltstack *)];
166 struct svr4_sigaltstack * oss; char oss_[PAD_(struct svr4_sigaltstack *)];
167 };
168 struct svr4_sys_sigaction_args {
169 int signum; char signum_[PAD_(int)];
170 struct svr4_sigaction * nsa; char nsa_[PAD_(struct svr4_sigaction *)];
171 struct svr4_sigaction * osa; char osa_[PAD_(struct svr4_sigaction *)];
172 };
173 struct svr4_sys_sigpending_args {
174 int what; char what_[PAD_(int)];
175 svr4_sigset_t * mask; char mask_[PAD_(svr4_sigset_t *)];
176 };
177 struct svr4_sys_context_args {
178 int func; char func_[PAD_(int)];
179 struct svr4_ucontext * uc; char uc_[PAD_(struct svr4_ucontext *)];
180 };
181 struct svr4_sys_statvfs_args {
182 char * path; char path_[PAD_(char *)];
183 struct svr4_statvfs * fs; char fs_[PAD_(struct svr4_statvfs *)];
184 };
185 struct svr4_sys_fstatvfs_args {
186 int fd; char fd_[PAD_(int)];
187 struct svr4_statvfs * fs; char fs_[PAD_(struct svr4_statvfs *)];
188 };
189 struct svr4_sys_waitsys_args {
190 int grp; char grp_[PAD_(int)];
191 int id; char id_[PAD_(int)];
192 union svr4_siginfo * info; char info_[PAD_(union svr4_siginfo *)];
193 int options; char options_[PAD_(int)];
194 };
195 struct svr4_sys_hrtsys_args {
196 int cmd; char cmd_[PAD_(int)];
197 int fun; char fun_[PAD_(int)];
198 int sub; char sub_[PAD_(int)];
199 void * rv1; char rv1_[PAD_(void *)];
200 void * rv2; char rv2_[PAD_(void *)];
201 };
202 struct svr4_sys_pathconf_args {
203 char * path; char path_[PAD_(char *)];
204 int name; char name_[PAD_(int)];
205 };
206 struct svr4_sys_mmap_args {
207 caddr_t addr; char addr_[PAD_(caddr_t)];
208 svr4_size_t len; char len_[PAD_(svr4_size_t)];
209 int prot; char prot_[PAD_(int)];
210 int flags; char flags_[PAD_(int)];
211 int fd; char fd_[PAD_(int)];
212 svr4_off_t pos; char pos_[PAD_(svr4_off_t)];
213 };
214 struct svr4_sys_fpathconf_args {
215 int fd; char fd_[PAD_(int)];
216 int name; char name_[PAD_(int)];
217 };
218 struct svr4_sys_xstat_args {
219 int two; char two_[PAD_(int)];
220 char * path; char path_[PAD_(char *)];
221 struct svr4_xstat * ub; char ub_[PAD_(struct svr4_xstat *)];
222 };
223 struct svr4_sys_lxstat_args {
224 int two; char two_[PAD_(int)];
225 char * path; char path_[PAD_(char *)];
226 struct svr4_xstat * ub; char ub_[PAD_(struct svr4_xstat *)];
227 };
228 struct svr4_sys_fxstat_args {
229 int two; char two_[PAD_(int)];
230 int fd; char fd_[PAD_(int)];
231 struct svr4_xstat * sb; char sb_[PAD_(struct svr4_xstat *)];
232 };
233 struct svr4_sys_xmknod_args {
234 int two; char two_[PAD_(int)];
235 char * path; char path_[PAD_(char *)];
236 svr4_mode_t mode; char mode_[PAD_(svr4_mode_t)];
237 svr4_dev_t dev; char dev_[PAD_(svr4_dev_t)];
238 };
239 struct svr4_sys_setrlimit_args {
240 int which; char which_[PAD_(int)];
241 const struct svr4_rlimit * rlp; char rlp_[PAD_(const struct svr4_rlimit *)];
242 };
243 struct svr4_sys_getrlimit_args {
244 int which; char which_[PAD_(int)];
245 struct svr4_rlimit * rlp; char rlp_[PAD_(struct svr4_rlimit *)];
246 };
247 struct svr4_sys_memcntl_args {
248 void * addr; char addr_[PAD_(void *)];
249 svr4_size_t len; char len_[PAD_(svr4_size_t)];
250 int cmd; char cmd_[PAD_(int)];
251 void * arg; char arg_[PAD_(void *)];
252 int attr; char attr_[PAD_(int)];
253 int mask; char mask_[PAD_(int)];
254 };
255 struct svr4_sys_uname_args {
256 struct svr4_utsname * name; char name_[PAD_(struct svr4_utsname *)];
257 int dummy; char dummy_[PAD_(int)];
258 };
259 struct svr4_sys_sysconfig_args {
260 int name; char name_[PAD_(int)];
261 };
262 struct svr4_sys_systeminfo_args {
263 int what; char what_[PAD_(int)];
264 char * buf; char buf_[PAD_(char *)];
265 long len; char len_[PAD_(long)];
266 };
267 struct svr4_sys_fchroot_args {
268 int fd; char fd_[PAD_(int)];
269 };
270 struct svr4_sys_utimes_args {
271 char * path; char path_[PAD_(char *)];
272 struct timeval * tptr; char tptr_[PAD_(struct timeval *)];
273 };
274 struct svr4_sys_vhangup_args {
275 register_t dummy;
276 };
277 struct svr4_sys_gettimeofday_args {
278 struct timeval * tp; char tp_[PAD_(struct timeval *)];
279 };
280 struct svr4_sys_llseek_args {
281 int fd; char fd_[PAD_(int)];
282 long offset1; char offset1_[PAD_(long)];
283 long offset2; char offset2_[PAD_(long)];
284 int whence; char whence_[PAD_(int)];
285 };
286 struct svr4_sys_acl_args {
287 char * path; char path_[PAD_(char *)];
288 int cmd; char cmd_[PAD_(int)];
289 int num; char num_[PAD_(int)];
290 struct svr4_aclent * buf; char buf_[PAD_(struct svr4_aclent *)];
291 };
292 struct svr4_sys_auditsys_args {
293 int code; char code_[PAD_(int)];
294 int a1; char a1_[PAD_(int)];
295 int a2; char a2_[PAD_(int)];
296 int a3; char a3_[PAD_(int)];
297 int a4; char a4_[PAD_(int)];
298 int a5; char a5_[PAD_(int)];
299 };
300 struct svr4_sys_facl_args {
301 int fd; char fd_[PAD_(int)];
302 int cmd; char cmd_[PAD_(int)];
303 int num; char num_[PAD_(int)];
304 struct svr4_aclent * buf; char buf_[PAD_(struct svr4_aclent *)];
305 };
306 struct svr4_sys_resolvepath_args {
307 const char * path; char path_[PAD_(const char *)];
308 char * buf; char buf_[PAD_(char *)];
309 size_t bufsiz; char bufsiz_[PAD_(size_t)];
310 };
311 struct svr4_sys_getdents64_args {
312 int fd; char fd_[PAD_(int)];
313 struct svr4_dirent64 * dp; char dp_[PAD_(struct svr4_dirent64 *)];
314 int nbytes; char nbytes_[PAD_(int)];
315 };
316 struct svr4_sys_mmap64_args {
317 void * addr; char addr_[PAD_(void *)];
318 svr4_size_t len; char len_[PAD_(svr4_size_t)];
319 int prot; char prot_[PAD_(int)];
320 int flags; char flags_[PAD_(int)];
321 int fd; char fd_[PAD_(int)];
322 svr4_off64_t pos; char pos_[PAD_(svr4_off64_t)];
323 };
324 struct svr4_sys_stat64_args {
325 char * path; char path_[PAD_(char *)];
326 struct svr4_stat64 * sb; char sb_[PAD_(struct svr4_stat64 *)];
327 };
328 struct svr4_sys_lstat64_args {
329 char * path; char path_[PAD_(char *)];
330 struct svr4_stat64 * sb; char sb_[PAD_(struct svr4_stat64 *)];
331 };
332 struct svr4_sys_fstat64_args {
333 int fd; char fd_[PAD_(int)];
334 struct svr4_stat64 * sb; char sb_[PAD_(struct svr4_stat64 *)];
335 };
336 struct svr4_sys_statvfs64_args {
337 char * path; char path_[PAD_(char *)];
338 struct svr4_statvfs64 * fs; char fs_[PAD_(struct svr4_statvfs64 *)];
339 };
340 struct svr4_sys_fstatvfs64_args {
341 int fd; char fd_[PAD_(int)];
342 struct svr4_statvfs64 * fs; char fs_[PAD_(struct svr4_statvfs64 *)];
343 };
344 struct svr4_sys_setrlimit64_args {
345 int which; char which_[PAD_(int)];
346 const struct svr4_rlimit64 * rlp; char rlp_[PAD_(const struct svr4_rlimit64 *)];
347 };
348 struct svr4_sys_getrlimit64_args {
349 int which; char which_[PAD_(int)];
350 struct svr4_rlimit64 * rlp; char rlp_[PAD_(struct svr4_rlimit64 *)];
351 };
352 struct svr4_sys_creat64_args {
353 char * path; char path_[PAD_(char *)];
354 int mode; char mode_[PAD_(int)];
355 };
356 struct svr4_sys_open64_args {
357 char * path; char path_[PAD_(char *)];
358 int flags; char flags_[PAD_(int)];
359 int mode; char mode_[PAD_(int)];
360 };
361 struct svr4_sys_socket_args {
362 int domain; char domain_[PAD_(int)];
363 int type; char type_[PAD_(int)];
364 int protocol; char protocol_[PAD_(int)];
365 };
366 struct svr4_sys_recv_args {
367 int s; char s_[PAD_(int)];
368 caddr_t buf; char buf_[PAD_(caddr_t)];
369 int len; char len_[PAD_(int)];
370 int flags; char flags_[PAD_(int)];
371 };
372 struct svr4_sys_send_args {
373 int s; char s_[PAD_(int)];
374 caddr_t buf; char buf_[PAD_(caddr_t)];
375 int len; char len_[PAD_(int)];
376 int flags; char flags_[PAD_(int)];
377 };
378 struct svr4_sys_sendto_args {
379 int s; char s_[PAD_(int)];
380 void * buf; char buf_[PAD_(void *)];
381 size_t len; char len_[PAD_(size_t)];
382 int flags; char flags_[PAD_(int)];
383 struct sockaddr * to; char to_[PAD_(struct sockaddr *)];
384 int tolen; char tolen_[PAD_(int)];
385 };
386 int svr4_sys_open(struct thread *, struct svr4_sys_open_args *);
387 int svr4_sys_wait(struct thread *, struct svr4_sys_wait_args *);
388 int svr4_sys_creat(struct thread *, struct svr4_sys_creat_args *);
389 int svr4_sys_execv(struct thread *, struct svr4_sys_execv_args *);
390 int svr4_sys_time(struct thread *, struct svr4_sys_time_args *);
391 int svr4_sys_mknod(struct thread *, struct svr4_sys_mknod_args *);
392 int svr4_sys_break(struct thread *, struct svr4_sys_break_args *);
393 int svr4_sys_stat(struct thread *, struct svr4_sys_stat_args *);
394 int svr4_sys_alarm(struct thread *, struct svr4_sys_alarm_args *);
395 int svr4_sys_fstat(struct thread *, struct svr4_sys_fstat_args *);
396 int svr4_sys_pause(struct thread *, struct svr4_sys_pause_args *);
397 int svr4_sys_utime(struct thread *, struct svr4_sys_utime_args *);
398 int svr4_sys_access(struct thread *, struct svr4_sys_access_args *);
399 int svr4_sys_nice(struct thread *, struct svr4_sys_nice_args *);
400 int svr4_sys_kill(struct thread *, struct svr4_sys_kill_args *);
401 int svr4_sys_pgrpsys(struct thread *, struct svr4_sys_pgrpsys_args *);
402 int svr4_sys_times(struct thread *, struct svr4_sys_times_args *);
403 int svr4_sys_signal(struct thread *, struct svr4_sys_signal_args *);
404 #if defined(NOTYET)
405 int svr4_sys_msgsys(struct thread *, struct svr4_sys_msgsys_args *);
406 #else
407 #endif
408 int svr4_sys_sysarch(struct thread *, struct svr4_sys_sysarch_args *);
409 int svr4_sys_ioctl(struct thread *, struct svr4_sys_ioctl_args *);
410 int svr4_sys_utssys(struct thread *, struct svr4_sys_utssys_args *);
411 int svr4_sys_execve(struct thread *, struct svr4_sys_execve_args *);
412 int svr4_sys_fcntl(struct thread *, struct svr4_sys_fcntl_args *);
413 int svr4_sys_ulimit(struct thread *, struct svr4_sys_ulimit_args *);
414 int svr4_sys_getdents(struct thread *, struct svr4_sys_getdents_args *);
415 int svr4_sys_getmsg(struct thread *, struct svr4_sys_getmsg_args *);
416 int svr4_sys_putmsg(struct thread *, struct svr4_sys_putmsg_args *);
417 int svr4_sys_poll(struct thread *, struct svr4_sys_poll_args *);
418 int svr4_sys_lstat(struct thread *, struct svr4_sys_lstat_args *);
419 int svr4_sys_sigprocmask(struct thread *, struct svr4_sys_sigprocmask_args *);
420 int svr4_sys_sigsuspend(struct thread *, struct svr4_sys_sigsuspend_args *);
421 int svr4_sys_sigaltstack(struct thread *, struct svr4_sys_sigaltstack_args *);
422 int svr4_sys_sigaction(struct thread *, struct svr4_sys_sigaction_args *);
423 int svr4_sys_sigpending(struct thread *, struct svr4_sys_sigpending_args *);
424 int svr4_sys_context(struct thread *, struct svr4_sys_context_args *);
425 int svr4_sys_statvfs(struct thread *, struct svr4_sys_statvfs_args *);
426 int svr4_sys_fstatvfs(struct thread *, struct svr4_sys_fstatvfs_args *);
427 int svr4_sys_waitsys(struct thread *, struct svr4_sys_waitsys_args *);
428 int svr4_sys_hrtsys(struct thread *, struct svr4_sys_hrtsys_args *);
429 int svr4_sys_pathconf(struct thread *, struct svr4_sys_pathconf_args *);
430 int svr4_sys_mmap(struct thread *, struct svr4_sys_mmap_args *);
431 int svr4_sys_fpathconf(struct thread *, struct svr4_sys_fpathconf_args *);
432 int svr4_sys_xstat(struct thread *, struct svr4_sys_xstat_args *);
433 int svr4_sys_lxstat(struct thread *, struct svr4_sys_lxstat_args *);
434 int svr4_sys_fxstat(struct thread *, struct svr4_sys_fxstat_args *);
435 int svr4_sys_xmknod(struct thread *, struct svr4_sys_xmknod_args *);
436 int svr4_sys_setrlimit(struct thread *, struct svr4_sys_setrlimit_args *);
437 int svr4_sys_getrlimit(struct thread *, struct svr4_sys_getrlimit_args *);
438 int svr4_sys_memcntl(struct thread *, struct svr4_sys_memcntl_args *);
439 int svr4_sys_uname(struct thread *, struct svr4_sys_uname_args *);
440 int svr4_sys_sysconfig(struct thread *, struct svr4_sys_sysconfig_args *);
441 int svr4_sys_systeminfo(struct thread *, struct svr4_sys_systeminfo_args *);
442 int svr4_sys_fchroot(struct thread *, struct svr4_sys_fchroot_args *);
443 int svr4_sys_utimes(struct thread *, struct svr4_sys_utimes_args *);
444 int svr4_sys_vhangup(struct thread *, struct svr4_sys_vhangup_args *);
445 int svr4_sys_gettimeofday(struct thread *, struct svr4_sys_gettimeofday_args *);
446 int svr4_sys_llseek(struct thread *, struct svr4_sys_llseek_args *);
447 int svr4_sys_acl(struct thread *, struct svr4_sys_acl_args *);
448 int svr4_sys_auditsys(struct thread *, struct svr4_sys_auditsys_args *);
449 int svr4_sys_facl(struct thread *, struct svr4_sys_facl_args *);
450 int svr4_sys_resolvepath(struct thread *, struct svr4_sys_resolvepath_args *);
451 int svr4_sys_getdents64(struct thread *, struct svr4_sys_getdents64_args *);
452 int svr4_sys_mmap64(struct thread *, struct svr4_sys_mmap64_args *);
453 int svr4_sys_stat64(struct thread *, struct svr4_sys_stat64_args *);
454 int svr4_sys_lstat64(struct thread *, struct svr4_sys_lstat64_args *);
455 int svr4_sys_fstat64(struct thread *, struct svr4_sys_fstat64_args *);
456 int svr4_sys_statvfs64(struct thread *, struct svr4_sys_statvfs64_args *);
457 int svr4_sys_fstatvfs64(struct thread *, struct svr4_sys_fstatvfs64_args *);
458 int svr4_sys_setrlimit64(struct thread *, struct svr4_sys_setrlimit64_args *);
459 int svr4_sys_getrlimit64(struct thread *, struct svr4_sys_getrlimit64_args *);
460 int svr4_sys_creat64(struct thread *, struct svr4_sys_creat64_args *);
461 int svr4_sys_open64(struct thread *, struct svr4_sys_open64_args *);
462 int svr4_sys_socket(struct thread *, struct svr4_sys_socket_args *);
463 int svr4_sys_recv(struct thread *, struct svr4_sys_recv_args *);
464 int svr4_sys_send(struct thread *, struct svr4_sys_send_args *);
465 int svr4_sys_sendto(struct thread *, struct svr4_sys_sendto_args *);
466
467 #ifdef COMPAT_43
468
469 #if defined(NOTYET)
470 #else
471 #endif
472
473 #endif /* COMPAT_43 */
474
475 #undef PAD_
476
477 #endif /* !_SVR4_SYSPROTO_H_ */
Cache object: dba59e2716589a9b3d84f46c1c6a1a8c
|