#ident	"@(#)alint:lib/llib-lc	1.14"
/* LINTLIBRARY */
/* PROTOLIB1 */

#include <assert.h>
#include <ctype.h>
#include <locale.h>
#include <setjmp.h>
#include <signal.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <float.h>
#include <dirent.h>

#include <sys/types.h>
#include <fcntl.h>
#include <stropts.h>
#include <termio.h>
#include <ieeefp.h>
#include <sys/stat.h>
#include <ftw.h>
#include <search.h>
#include <grp.h>
#include <memory.h>
#include <mon.h>
#include <nlist.h>
#include <pwd.h>
#include <wait.h>
#include <shadow.h>
#include <siginfo.h>
#include <signal.h>
#include <sys/utsname.h>
#include <ustat.h>

#if i386
#include <sys/user.h>	/* for fp_t in ucontext.h */
#endif

#include <ucontext.h>
#include <unistd.h>
#include <sys/mount.h>
#include <sys/lock.h>
#include <sys/poll.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <sys/sem.h>
#include <sys/shm.h>
#include <sys/statfs.h>
#if i386
#include <sys/sysi86.h>
#else
#include <sys/sys3b.h>
#endif
#include <sys/fstyp.h>
#include <sys/times.h>
#include <sys/param.h>
#include <sys/proc.h>
#include <crypt.h>

/* 
** The below should eventually be in header files - when/if they 
** are, there is a possibility that lint will not build this
** library correctly - when this happens, remove the object
** from this file.
*/

/* END (3C) */
extern int end;
extern int etext;
extern int edata;

/* PERROR(3C) */
extern int errno;
extern char *sys_errlist[];
extern int sys_nerr;

int memcntl(caddr_t, size_t, int, caddr_t, int, int);
caddr_t mmap(caddr_t, size_t, int, int, int, off_t);
int mprotect(caddr_t, size_t, int);
int munmap(caddr_t, size_t);
int msync(caddr_t, size_t, int);
long priocntl(idtype_t, id_t,int,...);
long priocntlset(procset_t *,int,...);
int grantpt(int);
int isastream(int);
int mlock(caddr_t, size_t);
int munlock(caddr_t, size_t);
int mlockall(int);
int munlockall(void);
void psignal(int, const char *);
char *ptsname(int);
int swapctl(int, void *);
int unlockpt(int);

/*
** nl_langinfo() should have a prototype in langinfo.h, but it does not.
** There is a problem with nl_langinfo(), however: it accepts an nl_item
** as a parameter, but nl_item is typedef short.  Lint will complain about
** a redeclaration of the parameter if an old-style declaration is seen
** before the prototype, hence we will just give the prototype.  Furthermore,
** since nl_langinfo() is really being passed an int, that is how it will
** be declared here.  The definition of nl_langinfo() should be changed in
** the future to accept an int rather than a short.  The prototype here 
** should be replaced by:
**
** 	#include <nl_types.h>
** 	#include <langinfo.h>
*/
char *nl_langinfo(int);

/* sys/time.h: definition of structs timezone, timeval */
#include <sys/time.h>
int gettimeofday(struct timeval *, struct timezone *);
int settimeofday(struct timeval *, struct timezone *);
int adjtime(struct timeval *, struct timeval *);

/* sys/resource.h: definition of struct rlimit */
#include <sys/resource.h>
int getrlimit(int, struct rlimit *);
int setrlimit(int, const struct rlimit *);

/* sys/uio.h: defintion ofstruct iovec */
#include <sys/uio.h>
int readv(int, struct iovec *, int);
int writev(int, const struct iovec *, int);
