Browse Source

spatch does not always do the right thing with -dir directive

It seems to miss .h files sometimes.

I hope this is the last iteration of fixing types.

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Ronald G. Minnich 9 years ago
parent
commit
d0cbaf6f97
89 changed files with 2318 additions and 2211 deletions
  1. 3 3
      amd64/include/u.h
  2. 26 26
      amd64/include/ureg.h
  3. 53 53
      sys/include/9p.h
  4. 9 9
      sys/include/String.h
  5. 11 11
      sys/include/a.out.h
  6. 7 7
      sys/include/ape/Plan9libnet.h
  7. 7 7
      sys/include/ape/ar.h
  8. 11 11
      sys/include/ape/arpa/inet.h
  9. 1 1
      sys/include/ape/assert.h
  10. 8 8
      sys/include/ape/bsd.h
  11. 5 5
      sys/include/ape/dirent.h
  12. 98 83
      sys/include/ape/draw.h
  13. 2 2
      sys/include/ape/error.h
  14. 4 4
      sys/include/ape/fcntl.h
  15. 27 27
      sys/include/ape/fmt.h
  16. 3 3
      sys/include/ape/grp.h
  17. 2 2
      sys/include/ape/inttypes.h
  18. 7 7
      sys/include/ape/lib9.h
  19. 1 1
      sys/include/ape/libl.h
  20. 7 7
      sys/include/ape/libnet.h
  21. 128 110
      sys/include/ape/libsec.h
  22. 7 7
      sys/include/ape/libv.h
  23. 19 19
      sys/include/ape/locale.h
  24. 2 2
      sys/include/ape/lock.h
  25. 12 12
      sys/include/ape/mp.h
  26. 21 21
      sys/include/ape/netdb.h
  27. 11 11
      sys/include/ape/netinet/in.h
  28. 4 4
      sys/include/ape/pwd.h
  29. 1 1
      sys/include/ape/qlock.h
  30. 8 8
      sys/include/ape/regexp.h
  31. 1 1
      sys/include/ape/select.h
  32. 1 1
      sys/include/ape/signal.h
  33. 38 38
      sys/include/ape/stdio.h
  34. 17 17
      sys/include/ape/stdlib.h
  35. 20 20
      sys/include/ape/string.h
  36. 2 2
      sys/include/ape/sys/pty.h
  37. 14 14
      sys/include/ape/sys/resource.h
  38. 1 1
      sys/include/ape/sys/select.h
  39. 3 3
      sys/include/ape/sys/socket.h
  40. 7 7
      sys/include/ape/sys/stat.h
  41. 2 2
      sys/include/ape/sys/time.h
  42. 1 1
      sys/include/ape/sys/times.h
  43. 6 6
      sys/include/ape/sys/types.h
  44. 1 1
      sys/include/ape/sys/uio.h
  45. 2 2
      sys/include/ape/sys/un.h
  46. 5 5
      sys/include/ape/sys/utsname.h
  47. 7 7
      sys/include/ape/time.h
  48. 1 1
      sys/include/ape/u.h
  49. 21 21
      sys/include/ape/unistd.h
  50. 14 14
      sys/include/ape/utf.h
  51. 1 1
      sys/include/ape/utime.h
  52. 7 7
      sys/include/ar.h
  53. 47 41
      sys/include/auth.h
  54. 52 52
      sys/include/authsrv.h
  55. 3 2
      sys/include/bin.h
  56. 16 16
      sys/include/bio.h
  57. 85 85
      sys/include/bootexec.h
  58. 5 5
      sys/include/complete.h
  59. 50 50
      sys/include/control.h
  60. 2 2
      sys/include/cursor.h
  61. 14 14
      sys/include/disk.h
  62. 98 83
      sys/include/draw.h
  63. 14 13
      sys/include/event.h
  64. 32 32
      sys/include/fcall.h
  65. 11 8
      sys/include/flate.h
  66. 24 24
      sys/include/frame.h
  67. 23 22
      sys/include/html.h
  68. 64 61
      sys/include/httpd.h
  69. 57 57
      sys/include/ip.h
  70. 3 3
      sys/include/keyboard.h
  71. 226 224
      sys/include/libc.h
  72. 130 112
      sys/include/libsec.h
  73. 114 111
      sys/include/mach.h
  74. 33 31
      sys/include/memdraw.h
  75. 3 3
      sys/include/memlayer.h
  76. 4 4
      sys/include/mouse.h
  77. 12 12
      sys/include/mp.h
  78. 29 27
      sys/include/ndb.h
  79. 132 131
      sys/include/nfs3.h
  80. 69 63
      sys/include/oventi.h
  81. 18 17
      sys/include/plumb.h
  82. 16 15
      sys/include/pool.h
  83. 8 8
      sys/include/regexp.h
  84. 38 38
      sys/include/stdio.h
  85. 72 69
      sys/include/sunrpc.h
  86. 25 25
      sys/include/thread.h
  87. 8 8
      sys/include/tos.h
  88. 4 4
      sys/include/trace.h
  89. 100 95
      sys/include/venti.h

+ 3 - 3
amd64/include/u.h

@@ -62,11 +62,11 @@ union FPdbleword
 	};
 };
 
-typedef	char*	va_list;
+typedef	int8_t*	va_list;
 #define va_start(list, start) list =\
 	(sizeof(start) < 8?\
-		(char*)((vlong*)&(start)+1):\
-		(char*)(&(start)+1))
+		(int8_t*)((int64_t*)&(start)+1):\
+		(int8_t*)(&(start)+1))
 #define va_end(list)\
 	USED(list)
 #define va_arg(list, mode)\

+ 26 - 26
amd64/include/ureg.h

@@ -8,32 +8,32 @@
  */
 
 struct Ureg {
-	u64int	ax;
-	u64int	bx;
-	u64int	cx;
-	u64int	dx;
-	u64int	si;
-	u64int	di;
-	u64int	bp;
-	u64int	r8;
-	u64int	r9;
-	u64int	r10;
-	u64int	r11;
-	u64int	r12;
-	u64int	r13;
-	u64int	r14;
-	u64int	r15;
+	uint64_t	ax;
+	uint64_t	bx;
+	uint64_t	cx;
+	uint64_t	dx;
+	uint64_t	si;
+	uint64_t	di;
+	uint64_t	bp;
+	uint64_t	r8;
+	uint64_t	r9;
+	uint64_t	r10;
+	uint64_t	r11;
+	uint64_t	r12;
+	uint64_t	r13;
+	uint64_t	r14;
+	uint64_t	r15;
 
-	u16int	ds;
-	u16int	es;
-	u16int	fs;
-	u16int	gs;
+	uint16_t	ds;
+	uint16_t	es;
+	uint16_t	fs;
+	uint16_t	gs;
 
-	u64int	type;
-	u64int	error;				/* error code (or zero) */
-	u64int	ip;				/* pc */
-	u64int	cs;				/* old context */
-	u64int	flags;				/* old flags */
-	u64int	sp;				/* sp */
-	u64int	ss;				/* old stack segment */
+	uint64_t	type;
+	uint64_t	error;				/* error code (or zero) */
+	uint64_t	ip;				/* pc */
+	uint64_t	cs;				/* old context */
+	uint64_t	flags;				/* old flags */
+	uint64_t	sp;				/* sp */
+	uint64_t	ss;				/* old stack segment */
 };

+ 53 - 53
sys/include/9p.h

@@ -19,10 +19,10 @@ typedef struct Intmap	Intmap;
 
 Intmap*	allocmap(void (*inc)(void*));
 void		freemap(Intmap*, void (*destroy)(void*));
-void*	lookupkey(Intmap*, ulong);
-void*	insertkey(Intmap*, ulong, void*);
-int		caninsertkey(Intmap*, ulong, void*);
-void*	deletekey(Intmap*, ulong);
+void*	lookupkey(Intmap*, uint32_t);
+void*	insertkey(Intmap*, uint32_t, void*);
+int		caninsertkey(Intmap*, uint32_t, void*);
+void*	deletekey(Intmap*, uint32_t);
 
 /*
  * Fid and Request structures.
@@ -42,10 +42,10 @@ typedef struct Srv Srv;
 
 struct Fid
 {
-	ulong	fid;
-	char		omode;	/* -1 = not open */
+	uint32_t	fid;
+	int8_t		omode;	/* -1 = not open */
 	File*		file;
-	char*	uid;
+	int8_t*	uid;
 	Qid		qid;
 	void*	aux;
 
@@ -53,13 +53,13 @@ struct Fid
 	Readdir*	rdir;
 	Ref		ref;
 	Fidpool*	pool;
-	vlong	diroffset;
-	long		dirindex;
+	int64_t	diroffset;
+	int32_t		dirindex;
 };
 
 struct Req
 {
-	ulong	tag;
+	uint32_t	tag;
 	void*	aux;
 	Fcall		ifcall;
 	Fcall		ofcall;
@@ -74,10 +74,10 @@ struct Req
 	QLock	lk;
 	Ref		ref;
 	Reqpool*	pool;
-	uchar*	buf;
-	uchar	type;
-	uchar	responded;
-	char*	error;
+	uint8_t*	buf;
+	uint8_t	type;
+	uint8_t	responded;
+	int8_t*	error;
 	void*	rbuf;
 	Req**	flush;
 	int		nflush;
@@ -101,17 +101,17 @@ struct Reqpool {
 
 Fidpool*	allocfidpool(void (*destroy)(Fid*));
 void		freefidpool(Fidpool*);
-Fid*		allocfid(Fidpool*, ulong);
-Fid*		lookupfid(Fidpool*, ulong);
+Fid*		allocfid(Fidpool*, uint32_t);
+Fid*		lookupfid(Fidpool*, uint32_t);
 void		closefid(Fid*);
-Fid*		removefid(Fidpool*, ulong);
+Fid*		removefid(Fidpool*, uint32_t);
 
 Reqpool*	allocreqpool(void (*destroy)(Req*));
 void		freereqpool(Reqpool*);
-Req*		allocreq(Reqpool*, ulong);
-Req*		lookupreq(Reqpool*, ulong);
+Req*		allocreq(Reqpool*, uint32_t);
+Req*		lookupreq(Reqpool*, uint32_t);
 void		closereq(Req*);
-Req*		removereq(Reqpool*, ulong);
+Req*		removereq(Reqpool*, uint32_t);
 
 typedef	int	Dirgen(int, Dir*, void*);
 void		dirread9p(Req*, Dirgen*, void*);
@@ -141,18 +141,18 @@ struct Tree {
 
 /* below is implementation-specific; don't use */
 	Lock genlock;
-	ulong qidgen;
-	ulong dirqidgen;
+	uint32_t qidgen;
+	uint32_t dirqidgen;
 };
 
-Tree*	alloctree(char*, char*, ulong, void(*destroy)(File*));
+Tree*	alloctree(int8_t*, int8_t*, uint32_t, void(*destroy)(File*));
 void		freetree(Tree*);
-File*		createfile(File*, char*, char*, ulong, void*);
+File*		createfile(File*, int8_t*, int8_t*, uint32_t, void*);
 int		removefile(File*);
 void		closefile(File*);
-File*		walkfile(File*, char*);
+File*		walkfile(File*, int8_t*);
 Readdir*	opendirfile(File*);
-long		readdirfile(Readdir*, uchar*, long);
+int32_t		readdirfile(Readdir*, uint8_t*, int32_t);
 void		closedirfile(Readdir*);
 
 /*
@@ -160,21 +160,21 @@ void		closedirfile(Readdir*);
  */
 typedef struct Cmdbuf Cmdbuf;
 typedef struct Cmdtab Cmdtab;
-Cmdbuf*		parsecmd(char *a, int n);
-void		respondcmderror(Req*, Cmdbuf*, char*, ...);
+Cmdbuf*		parsecmd(int8_t *a, int n);
+void		respondcmderror(Req*, Cmdbuf*, int8_t*, ...);
 Cmdtab*	lookupcmd(Cmdbuf*, Cmdtab*, int);
 #pragma varargck argpos respondcmderr 3
 struct Cmdbuf
 {
-	char	*buf;
-	char	**f;
+	int8_t	*buf;
+	int8_t	**f;
 	int	nf;
 };
 
 struct Cmdtab
 {
 	int	index;	/* used by client to switch on result */
-	char	*cmd;	/* command name */
+	int8_t	*cmd;	/* command name */
 	int	narg;	/* expected #args; 0 ==> variadic */
 };
 
@@ -199,58 +199,58 @@ struct Srv {
 	void		(*stat)(Req*);
 	void		(*wstat)(Req*);
 	void		(*walk)(Req*);
-	char*	(*clone)(Fid*, Fid*);
-	char*	(*walk1)(Fid*, char*, Qid*);
+	int8_t*	(*clone)(Fid*, Fid*);
+	int8_t*	(*walk1)(Fid*, int8_t*, Qid*);
 
 	int		infd;
 	int		outfd;
 	int		nopipe;
 	int		srvfd;
 	int		leavefdsopen;	/* magic for acme win */
-	char*	keyspec;
+	int8_t*	keyspec;
 
 /* below is implementation-specific; don't use */
 	Fidpool*	fpool;
 	Reqpool*	rpool;
 	uint		msize;
 
-	uchar*	rbuf;
+	uint8_t*	rbuf;
 	QLock	rlock;
-	uchar*	wbuf;
+	uint8_t*	wbuf;
 	QLock	wlock;
 	
-	char*	addr;
+	int8_t*	addr;
 };
 
 void		srv(Srv*);
-void		postmountsrv(Srv*, char*, char*, int);
-void		_postmountsrv(Srv*, char*, char*, int);
-void		listensrv(Srv*, char*);
-void		_listensrv(Srv*, char*);
-int 		postfd(char*, int);
+void		postmountsrv(Srv*, int8_t*, int8_t*, int);
+void		_postmountsrv(Srv*, int8_t*, int8_t*, int);
+void		listensrv(Srv*, int8_t*);
+void		_listensrv(Srv*, int8_t*);
+int 		postfd(int8_t*, int);
 int		chatty9p;
-void		respond(Req*, char*);
+void		respond(Req*, int8_t*);
 void		responderror(Req*);
-void		threadpostmountsrv(Srv*, char*, char*, int);
-void		threadlistensrv(Srv *s, char *addr);
+void		threadpostmountsrv(Srv*, int8_t*, int8_t*, int);
+void		threadlistensrv(Srv *s, int8_t *addr);
 
 /*
  * Helper.  Assumes user is same as group.
  */
-int		hasperm(File*, char*, int);
+int		hasperm(File*, int8_t*, int);
 
-void*	emalloc9p(ulong);
-void*	erealloc9p(void*, ulong);
-char*	estrdup9p(char*);
+void*	emalloc9p(uint32_t);
+void*	erealloc9p(void*, uint32_t);
+int8_t*	estrdup9p(int8_t*);
 
 enum {
 	OMASK = 3
 };
 
-void		readstr(Req*, char*);
-void		readbuf(Req*, void*, long);
-void		walkandclone(Req*, char*(*walk1)(Fid*,char*,void*), 
-			char*(*clone)(Fid*,Fid*,void*), void*);
+void		readstr(Req*, int8_t*);
+void		readbuf(Req*, void*, int32_t);
+void		walkandclone(Req*, int8_t*(*walk1)(Fid*,int8_t*,void*), 
+			int8_t*(*clone)(Fid*,Fid*,void*), void*);
 
 void		auth9p(Req*);
 void		authread(Req*);

+ 9 - 9
sys/include/String.h

@@ -24,13 +24,13 @@ typedef struct String {
 #define s_to_c(s) ((s)->base)
 #define s_len(s) ((s)->ptr-(s)->base)
 
-extern String*	s_append(String*, char*);
-extern String*	s_array(char*, int);
-extern String*	s_copy(char*);
+extern String*	s_append(String*, int8_t*);
+extern String*	s_array(int8_t*, int);
+extern String*	s_copy(int8_t*);
 extern void	s_free(String*);
 extern String*	s_incref(String*);	
-extern String*	s_memappend(String*, char*, int);
-extern String*	s_nappend(String*, char*, int);
+extern String*	s_memappend(String*, int8_t*, int);
+extern String*	s_nappend(String*, int8_t*, int);
 extern String*	s_new(void);
 extern String*	s_newalloc(int);
 extern String*	s_parse(String*, String*);
@@ -44,11 +44,11 @@ extern String*	s_grow(String*, int);
 
 #ifdef BGETC
 extern int	s_read(Biobuf*, String*, int);
-extern char	*s_read_line(Biobuf*, String*);
-extern char	*s_getline(Biobuf*, String*);
+extern int8_t	*s_read_line(Biobuf*, String*);
+extern int8_t	*s_getline(Biobuf*, String*);
 typedef struct Sinstack Sinstack;
 #pragma incomplete Sinstack
-extern char	*s_rdinstack(Sinstack*, String*);
-extern Sinstack	*s_allocinstack(char*);
+extern int8_t	*s_rdinstack(Sinstack*, String*);
+extern Sinstack	*s_allocinstack(int8_t*);
 extern void	s_freeinstack(Sinstack*);
 #endif /* BGETC */

+ 11 - 11
sys/include/a.out.h

@@ -10,14 +10,14 @@
 typedef	struct	Exec	Exec;
 struct	Exec
 {
-	long	magic;		/* magic number */
-	long	text;	 	/* size of text segment */
-	long	data;	 	/* size of initialized data */
-	long	bss;	  	/* size of uninitialized data */
-	long	syms;	 	/* size of symbol table */
-	long	entry;	 	/* entry point */
-	long	spsz;		/* size of pc/sp offset table */
-	long	pcsz;		/* size of pc/line number table */
+	int32_t	magic;		/* magic number */
+	int32_t	text;	 	/* size of text segment */
+	int32_t	data;	 	/* size of initialized data */
+	int32_t	bss;	  	/* size of uninitialized data */
+	int32_t	syms;	 	/* size of symbol table */
+	int32_t	entry;	 	/* entry point */
+	int32_t	spsz;		/* size of pc/sp offset table */
+	int32_t	pcsz;		/* size of pc/line number table */
 };
 
 #define HDR_MAGIC	0x00008000		/* header expansion */
@@ -49,8 +49,8 @@ struct	Exec
 typedef	struct	Sym	Sym;
 struct	Sym
 {
-	vlong	value;
+	int64_t	value;
 	uint	sig;
-	char	type;
-	char	*name;
+	int8_t	type;
+	int8_t	*name;
 };

+ 7 - 7
sys/include/ape/Plan9libnet.h

@@ -16,14 +16,14 @@
 
 #define NETPATHLEN 40
 
-extern	int	accept(int, char*);
-extern	int	announce(char*, char*);
-extern	int	dial(char*, char*, char*, int*);
+extern	int	accept(int, int8_t*);
+extern	int	announce(int8_t*, int8_t*);
+extern	int	dial(int8_t*, int8_t*, int8_t*, int*);
 extern	int	hangup(int);
-extern	int	listen(char*, char*);
-extern	char*	netmkaddr(char*, char*, char*);
-extern	int	reject(int, char*, char *);
+extern	int	listen(int8_t*, int8_t*);
+extern	int8_t*	netmkaddr(int8_t*, int8_t*, int8_t*);
+extern	int	reject(int, int8_t*, int8_t *);
 
-extern char    dialerrstr[64];
+extern int8_t    dialerrstr[64];
 
 #endif /* __LIBNET_H */

+ 7 - 7
sys/include/ape/ar.h

@@ -20,13 +20,13 @@
 
 struct	ar_hdr
 {
-	char	ar_name[16];
-	char	ar_date[12];
-	char	ar_uid[6];
-	char	ar_gid[6];
-	char	ar_mode[8];
-	char	ar_size[10];
-	char	ar_fmag[2];
+	int8_t	ar_name[16];
+	int8_t	ar_date[12];
+	int8_t	ar_uid[6];
+	int8_t	ar_gid[6];
+	int8_t	ar_mode[8];
+	int8_t	ar_size[10];
+	int8_t	ar_fmag[2];
 };
 #define	SAR_HDR	60
 

+ 11 - 11
sys/include/ape/arpa/inet.h

@@ -81,28 +81,28 @@ struct in_addr {
  * On subnets, the decomposition of addresses to host and net parts
  * is done according to subnet mask, not the masks here.
  */
-#define	IN_CLASSA(i)		(((long)(i) & 0x80000000) == 0)
+#define	IN_CLASSA(i)		(((int32_t)(i) & 0x80000000) == 0)
 #define	IN_CLASSA_NET		0xff000000
 #define	IN_CLASSA_NSHIFT	24
 #define	IN_CLASSA_HOST		0x00ffffff
 #define	IN_CLASSA_MAX		128
 
-#define	IN_CLASSB(i)		(((long)(i) & 0xc0000000) == 0x80000000)
+#define	IN_CLASSB(i)		(((int32_t)(i) & 0xc0000000) == 0x80000000)
 #define	IN_CLASSB_NET		0xffff0000
 #define	IN_CLASSB_NSHIFT	16
 #define	IN_CLASSB_HOST		0x0000ffff
 #define	IN_CLASSB_MAX		65536
 
-#define	IN_CLASSC(i)		(((long)(i) & 0xe0000000) == 0xc0000000)
+#define	IN_CLASSC(i)		(((int32_t)(i) & 0xe0000000) == 0xc0000000)
 #define	IN_CLASSC_NET		0xffffff00
 #define	IN_CLASSC_NSHIFT	8
 #define	IN_CLASSC_HOST		0x000000ff
 
-#define	IN_CLASSD(i)		(((long)(i) & 0xf0000000) == 0xe0000000)
+#define	IN_CLASSD(i)		(((int32_t)(i) & 0xf0000000) == 0xe0000000)
 #define	IN_MULTICAST(i)		IN_CLASSD(i)
 
-#define	IN_EXPERIMENTAL(i)	(((long)(i) & 0xe0000000) == 0xe0000000)
-#define	IN_BADCLASS(i)		(((long)(i) & 0xf0000000) == 0xf0000000)
+#define	IN_EXPERIMENTAL(i)	(((int32_t)(i) & 0xe0000000) == 0xe0000000)
+#define	IN_BADCLASS(i)		(((int32_t)(i) & 0xf0000000) == 0xf0000000)
 
 #define	INADDR_ANY		(unsigned long)0x00000000
 #define	INADDR_BROADCAST	(unsigned long)0xffffffff	/* must be masked */
@@ -113,10 +113,10 @@ struct in_addr {
  * Socket address, internet style.
  */
 struct sockaddr_in {
-	short	sin_family;
+	int16_t	sin_family;
 	unsigned short	sin_port;
 	struct	in_addr sin_addr;
-	char	sin_zero[8];
+	int8_t	sin_zero[8];
 };
 
 /*
@@ -128,7 +128,7 @@ struct sockaddr_in {
  */
 struct ip_opts {
 	struct	in_addr ip_dst;		/* first hop, 0 w/o src rt */
-	char	ip_opts[40];		/* actually variable in size */
+	int8_t	ip_opts[40];		/* actually variable in size */
 };
 
 /*
@@ -144,8 +144,8 @@ extern unsigned long	ntohl(unsigned long x);
 extern unsigned short	ntohs(unsigned short x);
 extern unsigned long	htonl(unsigned long x);
 extern unsigned short	htons(unsigned short x);
-extern unsigned long	inet_addr(char*);
-extern char*		inet_ntoa(struct in_addr);
+extern unsigned long	inet_addr(int8_t*);
+extern int8_t*		inet_ntoa(struct in_addr);
 extern unsigned long	nptohl(void*);
 
 #ifdef __cplusplus

+ 1 - 1
sys/include/ape/assert.h

@@ -17,7 +17,7 @@
 extern "C" {
 #endif
 
-extern void _assert(char *, unsigned);
+extern void _assert(int8_t *, unsigned);
 
 #ifdef __cplusplus
 }

+ 8 - 8
sys/include/ape/bsd.h

@@ -42,18 +42,18 @@ extern void	bzero(void*, size_t);
 extern int	ffs(unsigned int);
 extern void	bhappy(void*);
 extern int	rresvport(int*);
-extern int	rcmd(char**, int, char*, char*, char*, int*);
-extern int	strcasecmp(char*, char*);
-extern int 	putenv(char*);
-extern int	strncasecmp(char*, char*,int);
+extern int	rcmd(int8_t**, int, int8_t*, int8_t*, int8_t*, int*);
+extern int	strcasecmp(int8_t*, int8_t*);
+extern int 	putenv(int8_t*);
+extern int	strncasecmp(int8_t*, int8_t*,int);
 
-extern int	getopt(int, char**, char*);
+extern int	getopt(int, int8_t**, int8_t*);
 extern int	opterr;
 extern int	optind;
 extern int	optopt;
-extern char	*optarg;
-extern char	*mktemp(char *);
-extern char	*sys_errlist[];
+extern int8_t	*optarg;
+extern int8_t	*mktemp(int8_t *);
+extern int8_t	*sys_errlist[];
 extern int		sys_nerr;
 
 #ifdef __cplusplus

+ 5 - 5
sys/include/ape/dirent.h

@@ -16,14 +16,14 @@
 #define MAXNAMLEN 255
 
 struct	dirent {
-	char	d_name[MAXNAMLEN + 1];
+	int8_t	d_name[MAXNAMLEN + 1];
 };
 
 typedef struct _dirdesc {
 	int	dd_fd;		/* file descriptor */
-	long	dd_loc;		/* buf offset of entry from last readdir() */
-	long	dd_size;	/* amount of valid data in buffer */
-	char	*dd_buf;	/* directory data buffer */
+	int32_t	dd_loc;		/* buf offset of entry from last readdir() */
+	int32_t	dd_size;	/* amount of valid data in buffer */
+	int8_t	*dd_buf;	/* directory data buffer */
 	void *dirs;
 	int	dirsize;
 	int	dirloc;
@@ -37,7 +37,7 @@ extern "C" {
 /*
  * functions defined on directories
  */
-DIR		*opendir(const char *);
+DIR		*opendir(const int8_t *);
 struct dirent	*readdir(DIR *);
 void		rewinddir(DIR *);
 int		closedir(DIR *);

+ 98 - 83
sys/include/ape/draw.h

@@ -163,9 +163,9 @@ enum {
 	XBGR32	= CHAN4(CIgnore, 8, CBlue, 8, CGreen, 8, CRed, 8),
 };
 
-extern	char*	chantostr(char*, ulong);
-extern	ulong	strtochan(char*);
-extern	int		chantodepth(ulong);
+extern	int8_t*	chantostr(int8_t*, uint32_t);
+extern	uint32_t	strtochan(int8_t*);
+extern	int		chantodepth(uint32_t);
 
 struct	Point
 {
@@ -199,19 +199,19 @@ struct Display
 	int		ctlfd;
 	int		imageid;
 	int		local;
-	void		(*error)(Display*, char*);
-	char		*devdir;
-	char		*windir;
-	char		oldlabel[64];
-	ulong		dataqid;
+	void		(*error)(Display*, int8_t*);
+	int8_t		*devdir;
+	int8_t		*windir;
+	int8_t		oldlabel[64];
+	uint32_t		dataqid;
 	Image		*white;
 	Image		*black;
 	Image		*opaque;
 	Image		*transparent;
 	Image		*image;
-	uchar		*buf;
+	uint8_t		*buf;
 	int			bufsize;
-	uchar		*bufp;
+	uint8_t		*bufp;
 	Font		*defaultfont;
 	Subfont		*defaultsubfont;
 	Image		*windows;
@@ -226,7 +226,7 @@ struct Image
 	Rectangle	r;		/* rectangle in data area, local coords */
 	Rectangle 	clipr;		/* clipping region */
 	int		depth;		/* number of bits per pixel */
-	ulong	chan;
+	uint32_t	chan;
 	int		repl;		/* flag: data replicates to tile clipr */
 	Screen		*screen;	/* 0 if not a window */
 	Image		*next;	/* next in list of windows */
@@ -234,9 +234,9 @@ struct Image
 
 struct RGB
 {
-	ulong	red;
-	ulong	green;
-	ulong	blue;
+	uint32_t	red;
+	uint32_t	green;
+	uint32_t	blue;
 };
 
 /*
@@ -254,18 +254,18 @@ struct RGB
 struct	Fontchar
 {
 	int		x;		/* left edge of bits */
-	uchar		top;		/* first non-zero scan-line */
-	uchar		bottom;		/* last non-zero scan-line + 1 */
-	char		left;		/* offset of baseline */
-	uchar		width;		/* width of baseline */
+	uint8_t		top;		/* first non-zero scan-line */
+	uint8_t		bottom;		/* last non-zero scan-line + 1 */
+	int8_t		left;		/* offset of baseline */
+	uint8_t		width;		/* width of baseline */
 };
 
 struct	Subfont
 {
-	char		*name;
-	short		n;		/* number of chars in font */
-	uchar		height;		/* height of image */
-	char		ascent;		/* top of image to baseline */
+	int8_t		*name;
+	int16_t		n;		/* number of chars in font */
+	uint8_t		height;		/* height of image */
+	int8_t		ascent;		/* top of image to baseline */
 	Fontchar 	*info;		/* n+1 character descriptors */
 	Image		*bits;		/* of font */
 	int		ref;
@@ -293,35 +293,35 @@ struct Cachefont
 	Rune		min;	/* lowest rune value to be taken from subfont */
 	Rune		max;	/* highest rune value+1 to be taken from subfont */
 	int		offset;	/* position in subfont of character at min */
-	char		*name;			/* stored in font */
-	char		*subfontname;		/* to access subfont */
+	int8_t		*name;			/* stored in font */
+	int8_t		*subfontname;		/* to access subfont */
 };
 
 struct Cacheinfo
 {
-	ushort		x;		/* left edge of bits */
-	uchar		width;		/* width of baseline */
+	uint16_t		x;		/* left edge of bits */
+	uint8_t		width;		/* width of baseline */
 	schar		left;		/* offset of baseline */
 	Rune		value;	/* value of character at this slot in cache */
-	ushort		age;
+	uint16_t		age;
 };
 
 struct Cachesubf
 {
-	ulong		age;	/* for replacement */
+	uint32_t		age;	/* for replacement */
 	Cachefont	*cf;	/* font info that owns us */
 	Subfont		*f;	/* attached subfont */
 };
 
 struct Font
 {
-	char		*name;
+	int8_t		*name;
 	Display		*display;
-	short		height;	/* max height of image, interline spacing */
-	short		ascent;	/* top of image to baseline */
-	short		width;	/* widest so far; used in caching only */	
-	short		nsub;	/* number of subfonts */
-	ulong		age;	/* increasing counter; used for LRU */
+	int16_t		height;	/* max height of image, interline spacing */
+	int16_t		ascent;	/* top of image to baseline */
+	int16_t		width;	/* widest so far; used in caching only */	
+	int16_t		nsub;	/* number of subfonts */
+	uint32_t		age;	/* increasing counter; used for LRU */
 	int		maxdepth;	/* maximum depth of all loaded subfonts */
 	int		ncache;	/* size of cache */
 	int		nsubf;	/* size of subfont list */
@@ -341,49 +341,53 @@ extern "C" {
 /*
  * Image management
  */
-extern Image*	_allocimage(Image*, Display*, Rectangle, ulong, int, ulong, int, int);
-extern Image*	allocimage(Display*, Rectangle, ulong, int, ulong);
-extern uchar*	bufimage(Display*, int);
+extern Image*	_allocimage(Image*, Display*, Rectangle, uint32_t, int,
+				 uint32_t, int, int);
+extern Image*	allocimage(Display*, Rectangle, uint32_t, int,
+				uint32_t);
+extern uint8_t*	bufimage(Display*, int);
 extern int	bytesperline(Rectangle, int);
 extern void	closedisplay(Display*);
-extern void	drawerror(Display*, char*);
+extern void	drawerror(Display*, int8_t*);
 extern int	flushimage(Display*, int);
 extern int	freeimage(Image*);
 extern int	_freeimage1(Image*);
-extern int	geninitdraw(char*, void(*)(Display*, char*), char*, char*, char*, int);
-extern int	initdraw(void(*)(Display*, char*), char*, char*);
-extern int	newwindow(char*);
-extern Display*	initdisplay(char*, char*, void(*)(Display*, char*));
-extern int	loadimage(Image*, Rectangle, uchar*, int);
-extern int	cloadimage(Image*, Rectangle, uchar*, int);
+extern int	geninitdraw(int8_t*, void(*)(Display*, int8_t*), int8_t*,
+			      int8_t*, int8_t*, int);
+extern int	initdraw(void(*)(Display*, int8_t*), int8_t*, int8_t*);
+extern int	newwindow(int8_t*);
+extern Display*	initdisplay(int8_t*, int8_t*,
+				   void(*)(Display*, int8_t*));
+extern int	loadimage(Image*, Rectangle, uint8_t*, int);
+extern int	cloadimage(Image*, Rectangle, uint8_t*, int);
 extern int	getwindow(Display*, int);
-extern int	gengetwindow(Display*, char*, Image**, Screen**, int);
+extern int	gengetwindow(Display*, int8_t*, Image**, Screen**, int);
 extern Image* readimage(Display*, int, int);
 extern Image* creadimage(Display*, int, int);
-extern int	unloadimage(Image*, Rectangle, uchar*, int);
+extern int	unloadimage(Image*, Rectangle, uint8_t*, int);
 extern int	wordsperline(Rectangle, int);
 extern int	writeimage(int, Image*, int);
-extern Image*	namedimage(Display*, char*);
-extern int	nameimage(Image*, char*, int);
-extern Image* allocimagemix(Display*, ulong, ulong);
+extern Image*	namedimage(Display*, int8_t*);
+extern int	nameimage(Image*, int8_t*, int);
+extern Image* allocimagemix(Display*, uint32_t, uint32_t);
 
 /*
  * Colors
  */
 extern	void	readcolmap(Display*, RGB*);
 extern	void	writecolmap(Display*, RGB*);
-extern	ulong	setalpha(ulong, uchar);
+extern	uint32_t	setalpha(uint32_t, uint8_t);
 
 /*
  * Windows
  */
 extern Screen*	allocscreen(Image*, Image*, int);
-extern Image*	_allocwindow(Image*, Screen*, Rectangle, int, ulong);
-extern Image*	allocwindow(Screen*, Rectangle, int, ulong);
+extern Image*	_allocwindow(Image*, Screen*, Rectangle, int, uint32_t);
+extern Image*	allocwindow(Screen*, Rectangle, int, uint32_t);
 extern void	bottomnwindows(Image**, int);
 extern void	bottomwindow(Image*);
 extern int	freescreen(Screen*);
-extern Screen*	publicscreen(Display*, int, ulong);
+extern Screen*	publicscreen(Display*, int, uint32_t);
 extern void	topnwindows(Image**, int);
 extern void	topwindow(Image*);
 extern int	originwindow(Image*, Point, Point);
@@ -431,24 +435,32 @@ extern void	poly(Image*, Point*, int, int, int, int, Image*, Point);
 extern void	polyop(Image*, Point*, int, int, int, int, Image*, Point, Drawop);
 extern void	fillpoly(Image*, Point*, int, int, Image*, Point);
 extern void	fillpolyop(Image*, Point*, int, int, Image*, Point, Drawop);
-extern Point	string(Image*, Point, Image*, Point, Font*, char*);
-extern Point	stringop(Image*, Point, Image*, Point, Font*, char*, Drawop);
-extern Point	stringn(Image*, Point, Image*, Point, Font*, char*, int);
-extern Point	stringnop(Image*, Point, Image*, Point, Font*, char*, int, Drawop);
+extern Point	string(Image*, Point, Image*, Point, Font*, int8_t*);
+extern Point	stringop(Image*, Point, Image*, Point, Font*, int8_t*,
+			     Drawop);
+extern Point	stringn(Image*, Point, Image*, Point, Font*, int8_t*,
+			    int);
+extern Point	stringnop(Image*, Point, Image*, Point, Font*, int8_t*,
+			      int, Drawop);
 extern Point	runestring(Image*, Point, Image*, Point, Font*, Rune*);
 extern Point	runestringop(Image*, Point, Image*, Point, Font*, Rune*, Drawop);
 extern Point	runestringn(Image*, Point, Image*, Point, Font*, Rune*, int);
 extern Point	runestringnop(Image*, Point, Image*, Point, Font*, Rune*, int, Drawop);
-extern Point	stringbg(Image*, Point, Image*, Point, Font*, char*, Image*, Point);
-extern Point	stringbgop(Image*, Point, Image*, Point, Font*, char*, Image*, Point, Drawop);
-extern Point	stringnbg(Image*, Point, Image*, Point, Font*, char*, int, Image*, Point);
-extern Point	stringnbgop(Image*, Point, Image*, Point, Font*, char*, int, Image*, Point, Drawop);
+extern Point	stringbg(Image*, Point, Image*, Point, Font*, int8_t*,
+			     Image*, Point);
+extern Point	stringbgop(Image*, Point, Image*, Point, Font*, int8_t*,
+			       Image*, Point, Drawop);
+extern Point	stringnbg(Image*, Point, Image*, Point, Font*, int8_t*,
+			      int, Image*, Point);
+extern Point	stringnbgop(Image*, Point, Image*, Point, Font*, int8_t*,
+				int, Image*, Point, Drawop);
 extern Point	runestringbg(Image*, Point, Image*, Point, Font*, Rune*, Image*, Point);
 extern Point	runestringbgop(Image*, Point, Image*, Point, Font*, Rune*, Image*, Point, Drawop);
 extern Point	runestringnbg(Image*, Point, Image*, Point, Font*, Rune*, int, Image*, Point);
 extern Point	runestringnbgop(Image*, Point, Image*, Point, Font*, Rune*, int, Image*, Point, Drawop);
-extern Point	_string(Image*, Point, Image*, Point, Font*, char*, Rune*, int, Rectangle, Image*, Point, Drawop);
-extern Point	stringsubfont(Image*, Point, Image*, Subfont*, char*);
+extern Point	_string(Image*, Point, Image*, Point, Font*, int8_t*,
+			    Rune*, int, Rectangle, Image*, Point, Drawop);
+extern Point	stringsubfont(Image*, Point, Image*, Subfont*, int8_t*);
 extern int		bezier(Image*, Point, Point, Point, Point, int, int, int, Image*, Point);
 extern int		bezierop(Image*, Point, Point, Point, Point, int, int, int, Image*, Point, Drawop);
 extern int		bezspline(Image*, Point*, int, int, int, int, Image*, Point);
@@ -472,40 +484,43 @@ extern void	borderop(Image*, Rectangle, int, Image*, Point, Drawop);
 /*
  * Font management
  */
-extern Font*	openfont(Display*, char*);
-extern Font*	buildfont(Display*, char*, char*);
+extern Font*	openfont(Display*, int8_t*);
+extern Font*	buildfont(Display*, int8_t*, int8_t*);
 extern void	freefont(Font*);
 extern Font*	mkfont(Subfont*, Rune);
-extern int	cachechars(Font*, char**, Rune**, ushort*, int, int*, char**);
+extern int	cachechars(Font*, int8_t**, Rune**, uint16_t*, int,
+			     int*,
+			     int8_t**);
 extern void	agefont(Font*);
-extern Subfont*	allocsubfont(char*, int, int, int, Fontchar*, Image*);
-extern Subfont*	lookupsubfont(Display*, char*);
-extern void	installsubfont(char*, Subfont*);
+extern Subfont*	allocsubfont(int8_t*, int, int, int, Fontchar*,
+				    Image*);
+extern Subfont*	lookupsubfont(Display*, int8_t*);
+extern void	installsubfont(int8_t*, Subfont*);
 extern void	uninstallsubfont(Subfont*);
 extern void	freesubfont(Subfont*);
-extern Subfont*	readsubfont(Display*, char*, int, int);
-extern Subfont*	readsubfonti(Display*, char*, int, Image*, int);
+extern Subfont*	readsubfont(Display*, int8_t*, int, int);
+extern Subfont*	readsubfonti(Display*, int8_t*, int, Image*, int);
 extern int	writesubfont(int, Subfont*);
-extern void	_unpackinfo(Fontchar*, uchar*, int);
-extern Point	stringsize(Font*, char*);
-extern int	stringwidth(Font*, char*);
-extern int	stringnwidth(Font*, char*, int);
+extern void	_unpackinfo(Fontchar*, uint8_t*, int);
+extern Point	stringsize(Font*, int8_t*);
+extern int	stringwidth(Font*, int8_t*);
+extern int	stringnwidth(Font*, int8_t*, int);
 extern Point	runestringsize(Font*, Rune*);
 extern int	runestringwidth(Font*, Rune*);
 extern int	runestringnwidth(Font*, Rune*, int);
-extern Point	strsubfontwidth(Subfont*, char*);
-extern int	loadchar(Font*, Rune, Cacheinfo*, int, int, char**);
-extern char*	subfontname(char*, char*, int);
-extern Subfont*	_getsubfont(Display*, char*);
+extern Point	strsubfontwidth(Subfont*, int8_t*);
+extern int	loadchar(Font*, Rune, Cacheinfo*, int, int, int8_t**);
+extern int8_t*	subfontname(int8_t*, int8_t*, int);
+extern Subfont*	_getsubfont(Display*, int8_t*);
 extern Subfont*	getdefont(Display*);
 extern void		lockdisplay(Display*);
 extern void	unlockdisplay(Display*);
-extern int		drawlsetrefresh(ulong, int, void*, void*);
+extern int		drawlsetrefresh(uint32_t, int, void*, void*);
 
 /*
  * Predefined 
  */
-extern	uchar	defontdata[];
+extern	uint8_t	defontdata[];
 extern	int		sizeofdefont;
 extern	Point		ZP;
 extern	Rectangle	ZR;
@@ -534,11 +549,11 @@ extern	void	_setdrawop(Display*, Drawop);
 #define	NMEM	1024		/* window size */
 #define	NDUMP	128		/* maximum length of dump */
 #define	NCBLOCK	6000		/* size of compressed blocks */
-extern	void	_twiddlecompressed(uchar*, int);
+extern	void	_twiddlecompressed(uint8_t*, int);
 extern	int	_compblocksize(Rectangle, int);
 
 /* XXX backwards helps; should go */
-extern	ulong	drawld2chan[];
+extern	uint32_t	drawld2chan[];
 extern	void		drawsetdebug(int);
 
 #ifdef	__cplusplus

+ 2 - 2
sys/include/ape/error.h

@@ -18,8 +18,8 @@
 extern "C" {
 #endif
 
-extern char *_progname;		/* program name */
-extern void _perror(char *);	/* perror but with _progname */
+extern int8_t *_progname;		/* program name */
+extern void _perror(int8_t *);	/* perror but with _progname */
 
 #ifdef __cplusplus
 }

+ 4 - 4
sys/include/ape/fcntl.h

@@ -42,8 +42,8 @@
 #define FD_CLOEXEC	1
 
 struct flock {
-	short	l_type;
-	short	l_whence;
+	int16_t	l_type;
+	int16_t	l_whence;
 	off_t	l_start;
 	off_t	l_len;
 	pid_t	l_pid;
@@ -58,8 +58,8 @@ extern "C" {
 #endif
 
 extern int fcntl(int, int, ...);
-extern int open(const char *, int, ...);
-extern int creat(const char *, mode_t);
+extern int open(const int8_t *, int, ...);
+extern int creat(const int8_t *, mode_t);
 
 #ifdef __cplusplus
 }

+ 27 - 27
sys/include/ape/fmt.h

@@ -74,29 +74,29 @@ enum{
 extern "C" { 
 #endif
 
-extern	int	print(char*, ...);
-extern	char*	seprint(char*, char*, char*, ...);
-extern	char*	vseprint(char*, char*, char*, va_list);
-extern	int	snprint(char*, int, char*, ...);
-extern	int	vsnprint(char*, int, char*, va_list);
-extern	char*	smprint(char*, ...);
-extern	char*	vsmprint(char*, va_list);
-extern	int	sprint(char*, char*, ...);
-extern	int	fprint(int, char*, ...);
-extern	int	vfprint(int, char*, va_list);
-
-extern	int	runesprint(Rune*, char*, ...);
-extern	int	runesnprint(Rune*, int, char*, ...);
-extern	int	runevsnprint(Rune*, int, char*, va_list);
-extern	Rune*	runeseprint(Rune*, Rune*, char*, ...);
-extern	Rune*	runevseprint(Rune*, Rune*, char*, va_list);
-extern	Rune*	runesmprint(char*, ...);
-extern	Rune*	runevsmprint(char*, va_list);
-
-extern	int	fmtfdinit(Fmt*, int, char*, int);
+extern	int	print(int8_t*, ...);
+extern	int8_t*	seprint(int8_t*, int8_t*, int8_t*, ...);
+extern	int8_t*	vseprint(int8_t*, int8_t*, int8_t*, va_list);
+extern	int	snprint(int8_t*, int, int8_t*, ...);
+extern	int	vsnprint(int8_t*, int, int8_t*, va_list);
+extern	int8_t*	smprint(int8_t*, ...);
+extern	int8_t*	vsmprint(int8_t*, va_list);
+extern	int	sprint(int8_t*, int8_t*, ...);
+extern	int	fprint(int, int8_t*, ...);
+extern	int	vfprint(int, int8_t*, va_list);
+
+extern	int	runesprint(Rune*, int8_t*, ...);
+extern	int	runesnprint(Rune*, int, int8_t*, ...);
+extern	int	runevsnprint(Rune*, int, int8_t*, va_list);
+extern	Rune*	runeseprint(Rune*, Rune*, int8_t*, ...);
+extern	Rune*	runevseprint(Rune*, Rune*, int8_t*, va_list);
+extern	Rune*	runesmprint(int8_t*, ...);
+extern	Rune*	runevsmprint(int8_t*, va_list);
+
+extern	int	fmtfdinit(Fmt*, int, int8_t*, int);
 extern	int	fmtfdflush(Fmt*);
 extern	int	fmtstrinit(Fmt*);
-extern	char*	fmtstrflush(Fmt*);
+extern	int8_t*	fmtstrflush(Fmt*);
 extern	int	runefmtstrinit(Fmt*);
 
 extern	int	quotestrfmt(Fmt *f);
@@ -105,16 +105,16 @@ extern	int	(*fmtdoquote)(int);
 
 
 extern	int	fmtinstall(int, int (*)(Fmt*));
-extern	int	dofmt(Fmt*, char*);
-extern	int	fmtprint(Fmt*, char*, ...);
-extern	int	fmtvprint(Fmt*, char*, va_list);
+extern	int	dofmt(Fmt*, int8_t*);
+extern	int	fmtprint(Fmt*, int8_t*, ...);
+extern	int	fmtvprint(Fmt*, int8_t*, va_list);
 extern	int	fmtrune(Fmt*, int);
-extern	int	fmtstrcpy(Fmt*, char*);
+extern	int	fmtstrcpy(Fmt*, int8_t*);
 
-extern	double	fmtstrtod(const char *, char **);
+extern	double	fmtstrtod(const int8_t *, int8_t **);
 extern	double	fmtcharstod(int(*)(void*), void*);
 
-extern	void	werrstr(const char*, ...);
+extern	void	werrstr(const int8_t*, ...);
 
 #ifdef	__cplusplus
 }

+ 3 - 3
sys/include/ape/grp.h

@@ -16,9 +16,9 @@
 #include <sys/types.h>
 
 struct	group {
-	char	*gr_name;
+	int8_t	*gr_name;
 	gid_t	gr_gid;
-	char	**gr_mem;
+	int8_t	**gr_mem;
 };
 
 #ifdef __cplusplus
@@ -26,7 +26,7 @@ extern "C" {
 #endif
 
 extern struct group *getgrgid(gid_t);
-extern struct group *getgrnam(const char *);
+extern struct group *getgrnam(const int8_t *);
 
 #ifdef __cplusplus
 }

+ 2 - 2
sys/include/ape/inttypes.h

@@ -18,8 +18,8 @@ typedef int _intptr_t;
 typedef unsigned int _uintptr_t;
 
 
-typedef char int8_t;
-typedef short int16_t;
+typedef int8_t int8_t;
+typedef int16_t int16_t;
 typedef int int32_t;
 typedef long long int64_t;
 typedef unsigned char uint8_t;

+ 7 - 7
sys/include/ape/lib9.h

@@ -47,7 +47,7 @@ enum
 	RFREND		= (1<<13)
 };
 
-extern char *argv0;
+extern int8_t *argv0;
 #define	ARGBEGIN	for((argv0||(argv0=*argv)),argv++,argc--;\
 			    argv[0] && argv[0][0]=='-' && argv[0][1];\
 			    argc--, argv++) {\
@@ -64,16 +64,16 @@ extern char *argv0;
 #define	ARGF()		(_argt=_args, _args="",\
 				(*_argt? _argt: argv[1]? (argc--, *++argv): 0))
 #define	EARGF(x)	(_argt=_args, _args="",\
-				(*_argt? _argt: argv[1]? (argc--, *++argv): ((x), abort(), (char*)0)))
+				(*_argt? _argt: argv[1]? (argc--, *++argv): ((x), abort(), (int8_t*)0)))
 
 #define	ARGC()		_argc
 
-extern	int	errstr(char*, unsigned int);
-extern	int	bind(char*, char*, int);
-extern	int	mount(int, int, char*, int, char*);
-extern	int	unmount(char*, char*);
+extern	int	errstr(int8_t*, unsigned int);
+extern	int	bind(int8_t*, int8_t*, int);
+extern	int	mount(int, int, int8_t*, int, int8_t*);
+extern	int	unmount(int8_t*, int8_t*);
 extern	int	rfork(int);
-extern	int	segattach(int, char*, void*, unsigned long);
+extern	int	segattach(int, int8_t*, void*, unsigned long);
 extern	int	segbrk(void*, void*);
 extern	int	segdetach(void*);
 extern	int	segflush(void*, unsigned long);

+ 1 - 1
sys/include/ape/libl.h

@@ -15,7 +15,7 @@
 #pragma lib "/$M/lib/ape/libl.a"
 
 extern int printable(int);
-extern void allprint(char);
+extern void allprint(int8_t);
 extern int yyracc(int);
 extern int yyreject(void);
 extern void yyless(int);

+ 7 - 7
sys/include/ape/libnet.h

@@ -16,14 +16,14 @@
 
 #define NETPATHLEN 40
 
-extern	int	accept(int, char*);
-extern	int	announce(char*, char*);
-extern	int	dial(char*, char*, char*, int*);
+extern	int	accept(int, int8_t*);
+extern	int	announce(int8_t*, int8_t*);
+extern	int	dial(int8_t*, int8_t*, int8_t*, int*);
 extern	int	hangup(int);
-extern	int	listen(char*, char*);
-extern	char*	netmkaddr(char*, char*, char*);
-extern	int	reject(int, char*, char *);
+extern	int	listen(int8_t*, int8_t*);
+extern	int8_t*	netmkaddr(int8_t*, int8_t*, int8_t*);
+extern	int	reject(int, int8_t*, int8_t *);
 
-extern char    dialerrstr[64];
+extern int8_t    dialerrstr[64];
 
 #endif /* __LIBNET_H */

+ 128 - 110
sys/include/ape/libsec.h

@@ -34,29 +34,32 @@ enum
 typedef struct AESstate AESstate;
 struct AESstate
 {
-	ulong	setup;
+	uint32_t	setup;
 	int	rounds;
 	int	keybytes;
 	uint	ctrsz;
-	uchar	key[AESmaxkey];			/* unexpanded key */
-	ulong	ekey[4*(AESmaxrounds + 1)];	/* encryption key */
-	ulong	dkey[4*(AESmaxrounds + 1)];	/* decryption key */
-	uchar	ivec[AESbsize];			/* initialization vector */
-	uchar	mackey[3 * AESbsize];		/* 3 XCBC mac 96 keys */
+	uint8_t	key[AESmaxkey];			/* unexpanded key */
+	uint32_t	ekey[4*(AESmaxrounds + 1)];	/* encryption key */
+	uint32_t	dkey[4*(AESmaxrounds + 1)];	/* decryption key */
+	uint8_t	ivec[AESbsize];			/* initialization vector */
+	uint8_t	mackey[3 * AESbsize];		/* 3 XCBC mac 96 keys */
 };
 
 /* block ciphers */
-void	aes_encrypt(ulong rk[], int Nr, uchar pt[16], uchar ct[16]);
-void	aes_decrypt(ulong rk[], int Nr, uchar ct[16], uchar pt[16]);
-
-void	setupAESstate(AESstate *s, uchar key[], int keybytes, uchar *ivec);
-void	aesCBCencrypt(uchar *p, int len, AESstate *s);
-void	aesCBCdecrypt(uchar *p, int len, AESstate *s);
-void	aesCTRdecrypt(uchar *p, int len, AESstate *s);
-void	aesCTRencrypt(uchar *p, int len, AESstate *s);
+void	aes_encrypt(uint32_t rk[], int Nr, uint8_t pt[16],
+			uint8_t ct[16]);
+void	aes_decrypt(uint32_t rk[], int Nr, uint8_t ct[16],
+			uint8_t pt[16]);
+
+void	setupAESstate(AESstate *s, uint8_t key[], int keybytes,
+			  uint8_t *ivec);
+void	aesCBCencrypt(uint8_t *p, int len, AESstate *s);
+void	aesCBCdecrypt(uint8_t *p, int len, AESstate *s);
+void	aesCTRdecrypt(uint8_t *p, int len, AESstate *s);
+void	aesCTRencrypt(uint8_t *p, int len, AESstate *s);
 
 void	setupAESXCBCstate(AESstate *s);
-uchar*	aesXCBCmac(uchar *p, int len, AESstate *s);
+uint8_t*	aesXCBCmac(uint8_t *p, int len, AESstate *s);
 
 /*
  * Blowfish Definitions
@@ -72,20 +75,21 @@ enum
 typedef struct BFstate BFstate;
 struct BFstate
 {
-	ulong	setup;
+	uint32_t	setup;
 
-	uchar	key[56];
-	uchar	ivec[8];
+	uint8_t	key[56];
+	uint8_t	ivec[8];
 
-	u32int 	pbox[BFrounds+2];
-	u32int	sbox[1024];
+	uint32_t 	pbox[BFrounds+2];
+	uint32_t	sbox[1024];
 };
 
-void	setupBFstate(BFstate *s, uchar key[], int keybytes, uchar *ivec);
-void	bfCBCencrypt(uchar*, int, BFstate*);
-void	bfCBCdecrypt(uchar*, int, BFstate*);
-void	bfECBencrypt(uchar*, int, BFstate*);
-void	bfECBdecrypt(uchar*, int, BFstate*);
+void	setupBFstate(BFstate *s, uint8_t key[], int keybytes,
+			 uint8_t *ivec);
+void	bfCBCencrypt(uint8_t*, int, BFstate*);
+void	bfCBCdecrypt(uint8_t*, int, BFstate*);
+void	bfECBencrypt(uint8_t*, int, BFstate*);
+void	bfECBdecrypt(uint8_t*, int, BFstate*);
 
 /*
  * DES definitions
@@ -100,24 +104,24 @@ enum
 typedef struct DESstate DESstate;
 struct DESstate
 {
-	ulong	setup;
-	uchar	key[8];		/* unexpanded key */
-	ulong	expanded[32];	/* expanded key */
-	uchar	ivec[8];	/* initialization vector */
+	uint32_t	setup;
+	uint8_t	key[8];		/* unexpanded key */
+	uint32_t	expanded[32];	/* expanded key */
+	uint8_t	ivec[8];	/* initialization vector */
 };
 
-void	setupDESstate(DESstate *s, uchar key[8], uchar *ivec);
-void	des_key_setup(uchar[8], ulong[32]);
-void	block_cipher(ulong*, uchar*, int);
-void	desCBCencrypt(uchar*, int, DESstate*);
-void	desCBCdecrypt(uchar*, int, DESstate*);
-void	desECBencrypt(uchar*, int, DESstate*);
-void	desECBdecrypt(uchar*, int, DESstate*);
+void	setupDESstate(DESstate *s, uint8_t key[8], uint8_t *ivec);
+void	des_key_setup(uint8_t[8], uint32_t[32]);
+void	block_cipher(uint32_t*, uint8_t*, int);
+void	desCBCencrypt(uint8_t*, int, DESstate*);
+void	desCBCdecrypt(uint8_t*, int, DESstate*);
+void	desECBencrypt(uint8_t*, int, DESstate*);
+void	desECBdecrypt(uint8_t*, int, DESstate*);
 
 /* for backward compatibility with 7-byte DES key format */
-void	des56to64(uchar *k56, uchar *k64);
-void	des64to56(uchar *k64, uchar *k56);
-void	key_setup(uchar[7], ulong[32]);
+void	des56to64(uint8_t *k56, uint8_t *k64);
+void	des64to56(uint8_t *k64, uint8_t *k56);
+void	key_setup(uint8_t[7], uint32_t[32]);
 
 /* triple des encrypt/decrypt orderings */
 enum {
@@ -132,18 +136,18 @@ enum {
 typedef struct DES3state DES3state;
 struct DES3state
 {
-	ulong	setup;
-	uchar	key[3][8];		/* unexpanded key */
-	ulong	expanded[3][32];	/* expanded key */
-	uchar	ivec[8];		/* initialization vector */
+	uint32_t	setup;
+	uint8_t	key[3][8];		/* unexpanded key */
+	uint32_t	expanded[3][32];	/* expanded key */
+	uint8_t	ivec[8];		/* initialization vector */
 };
 
-void	setupDES3state(DES3state *s, uchar key[3][8], uchar *ivec);
-void	triple_block_cipher(ulong keys[3][32], uchar*, int);
-void	des3CBCencrypt(uchar*, int, DES3state*);
-void	des3CBCdecrypt(uchar*, int, DES3state*);
-void	des3ECBencrypt(uchar*, int, DES3state*);
-void	des3ECBdecrypt(uchar*, int, DES3state*);
+void	setupDES3state(DES3state *s, uint8_t key[3][8], uint8_t *ivec);
+void	triple_block_cipher(uint32_t keys[3][32], uint8_t*, int);
+void	des3CBCencrypt(uint8_t*, int, DES3state*);
+void	des3CBCdecrypt(uint8_t*, int, DES3state*);
+void	des3ECBencrypt(uint8_t*, int, DES3state*);
+void	des3ECBdecrypt(uint8_t*, int, DES3state*);
 
 /*
  * digests
@@ -166,15 +170,15 @@ enum
 typedef struct DigestState DigestState;
 struct DigestState
 {
-	uvlong	len;
+	uint64_t	len;
 	union {
-		u32int	state[8];
-		u64int	bstate[8];
+		uint32_t	state[8];
+		uint64_t	bstate[8];
 	};
-	uchar	buf[256];
+	uint8_t	buf[256];
 	int	blen;
-	char	malloced;
-	char	seeded;
+	int8_t	malloced;
+	int8_t	seeded;
 };
 typedef struct DigestState SHAstate;	/* obsolete name */
 typedef struct DigestState SHA1state;
@@ -186,37 +190,48 @@ typedef struct DigestState MD5state;
 typedef struct DigestState MD4state;
 typedef struct DigestState AEShstate;
 
-DigestState*	md4(uchar*, ulong, uchar*, DigestState*);
-DigestState*	md5(uchar*, ulong, uchar*, DigestState*);
-DigestState*	sha1(uchar*, ulong, uchar*, DigestState*);
-DigestState*	sha2_224(uchar*, ulong, uchar*, DigestState*);
-DigestState*	sha2_256(uchar*, ulong, uchar*, DigestState*);
-DigestState*	sha2_384(uchar*, ulong, uchar*, DigestState*);
-DigestState*	sha2_512(uchar*, ulong, uchar*, DigestState*);
-DigestState*	aes(uchar*, ulong, uchar*, DigestState*);
-DigestState*	hmac_x(uchar *p, ulong len, uchar *key, ulong klen,
-			uchar *digest, DigestState *s,
-			DigestState*(*x)(uchar*, ulong, uchar*, DigestState*),
+DigestState*	md4(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	md5(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	sha1(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	sha2_224(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	sha2_256(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	sha2_384(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	sha2_512(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	aes(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	hmac_x(uint8_t *p, uint32_t len, uint8_t *key,
+			   uint32_t klen,
+			uint8_t *digest, DigestState *s,
+			DigestState*(*x)(uint8_t*, uint32_t, uint8_t*, DigestState*),
 			int xlen);
-DigestState*	hmac_md5(uchar*, ulong, uchar*, ulong, uchar*, DigestState*);
-DigestState*	hmac_sha1(uchar*, ulong, uchar*, ulong, uchar*, DigestState*);
-DigestState*	hmac_sha2_224(uchar*, ulong, uchar*, ulong, uchar*, DigestState*);
-DigestState*	hmac_sha2_256(uchar*, ulong, uchar*, ulong, uchar*, DigestState*);
-DigestState*	hmac_sha2_384(uchar*, ulong, uchar*, ulong, uchar*, DigestState*);
-DigestState*	hmac_sha2_512(uchar*, ulong, uchar*, ulong, uchar*, DigestState*);
-DigestState*	hmac_aes(uchar*, ulong, uchar*, ulong, uchar*, DigestState*);
-char*		md5pickle(MD5state*);
-MD5state*	md5unpickle(char*);
-char*		sha1pickle(SHA1state*);
-SHA1state*	sha1unpickle(char*);
+DigestState*	hmac_md5(uint8_t*, uint32_t, uint8_t*, uint32_t,
+			     uint8_t*,
+			     DigestState*);
+DigestState*	hmac_sha1(uint8_t*, uint32_t, uint8_t*, uint32_t,
+			      uint8_t*,
+			      DigestState*);
+DigestState*	hmac_sha2_224(uint8_t*, uint32_t, uint8_t*, uint32_t,
+				  uint8_t*, DigestState*);
+DigestState*	hmac_sha2_256(uint8_t*, uint32_t, uint8_t*, uint32_t,
+				  uint8_t*, DigestState*);
+DigestState*	hmac_sha2_384(uint8_t*, uint32_t, uint8_t*, uint32_t,
+				  uint8_t*, DigestState*);
+DigestState*	hmac_sha2_512(uint8_t*, uint32_t, uint8_t*, uint32_t,
+				  uint8_t*, DigestState*);
+DigestState*	hmac_aes(uint8_t*, uint32_t, uint8_t*, uint32_t,
+			     uint8_t*,
+			     DigestState*);
+int8_t*		md5pickle(MD5state*);
+MD5state*	md5unpickle(int8_t*);
+int8_t*		sha1pickle(SHA1state*);
+SHA1state*	sha1unpickle(int8_t*);
 
 /*
  * random number generation
  */
-void	genrandom(uchar *buf, int nbytes);
-void	prng(uchar *buf, int nbytes);
-ulong	fastrand(void);
-ulong	nfastrand(ulong);
+void	genrandom(uint8_t *buf, int nbytes);
+void	prng(uint8_t *buf, int nbytes);
+uint32_t	fastrand(void);
+uint32_t	nfastrand(uint32_t);
 
 /*
  * primes
@@ -224,7 +239,7 @@ ulong	nfastrand(ulong);
 void	genprime(mpint *p, int n, int accuracy); /* generate n-bit probable prime */
 void	gensafeprime(mpint *p, mpint *alpha, int n, int accuracy); /* prime & generator */
 void	genstrongprime(mpint *p, int n, int accuracy); /* generate n-bit strong prime */
-void	DSAprimes(mpint *q, mpint *p, uchar seed[SHA1dlen]);
+void	DSAprimes(mpint *q, mpint *p, uint8_t seed[SHA1dlen]);
 int	probably_prime(mpint *n, int nrep);	/* miller-rabin test */
 int	smallprimetest(mpint *p);  /* returns -1 if not prime, 0 otherwise */
 
@@ -234,13 +249,13 @@ int	smallprimetest(mpint *p);  /* returns -1 if not prime, 0 otherwise */
 typedef struct RC4state RC4state;
 struct RC4state
 {
-	 uchar	state[256];
-	 uchar	x;
-	 uchar	y;
+	 uint8_t	state[256];
+	 uint8_t	x;
+	 uint8_t	y;
 };
 
-void	setupRC4state(RC4state*, uchar*, int);
-void	rc4(RC4state*, uchar*, int);
+void	setupRC4state(RC4state*, uint8_t*, int);
+void	rc4(RC4state*, uint8_t*, int);
 void	rc4skip(RC4state*, int);
 void	rc4back(RC4state*, int);
 
@@ -275,7 +290,7 @@ struct RSApriv
 
 struct PEMChain{
 	PEMChain*next;
-	uchar	*pem;
+	uint8_t	*pem;
 	int	pemlen;
 };
 
@@ -288,15 +303,18 @@ void		rsapubfree(RSApub*);
 RSApriv*	rsaprivalloc(void);
 void		rsaprivfree(RSApriv*);
 RSApub*		rsaprivtopub(RSApriv*);
-RSApub*		X509toRSApub(uchar*, int, char*, int);
-RSApriv*	asn1toRSApriv(uchar*, int);
-void		asn1dump(uchar *der, int len);
-uchar*		decodePEM(char *s, char *type, int *len, char **new_s);
-PEMChain*	decodepemchain(char *s, char *type);
-uchar*		X509gen(RSApriv *priv, char *subj, ulong valid[2], int *certlen);
-uchar*		X509req(RSApriv *priv, char *subj, int *certlen);
-char*		X509verify(uchar *cert, int ncert, RSApub *pk);
-void		X509dump(uchar *cert, int ncert);
+RSApub*		X509toRSApub(uint8_t*, int, int8_t*, int);
+RSApriv*	asn1toRSApriv(uint8_t*, int);
+void		asn1dump(uint8_t *der, int len);
+uint8_t*		decodePEM(int8_t *s, int8_t *type, int *len,
+				  int8_t **new_s);
+PEMChain*	decodepemchain(int8_t *s, int8_t *type);
+uint8_t*		X509gen(RSApriv *priv, int8_t *subj,
+				uint32_t valid[2],
+			      int *certlen);
+uint8_t*		X509req(RSApriv *priv, int8_t *subj, int *certlen);
+int8_t*		X509verify(uint8_t *cert, int ncert, RSApub *pk);
+void		X509dump(uint8_t *cert, int ncert);
 
 /*
  * elgamal
@@ -378,28 +396,28 @@ void		dsaprivfree(DSApriv*);
 DSAsig*		dsasigalloc(void);
 void		dsasigfree(DSAsig*);
 DSApub*		dsaprivtopub(DSApriv*);
-DSApriv*	asn1toDSApriv(uchar*, int);
+DSApriv*	asn1toDSApriv(uint8_t*, int);
 
 /*
  * TLS
  */
 typedef struct Thumbprint{
 	struct Thumbprint *next;
-	uchar	sha1[SHA1dlen];
+	uint8_t	sha1[SHA1dlen];
 } Thumbprint;
 
 typedef struct TLSconn{
-	char	dir[40];	/* connection directory */
-	uchar	*cert;	/* certificate (local on input, remote on output) */
-	uchar	*sessionID;
+	int8_t	dir[40];	/* connection directory */
+	uint8_t	*cert;	/* certificate (local on input, remote on output) */
+	uint8_t	*sessionID;
 	int	certlen;
 	int	sessionIDlen;
-	int	(*trace)(char*fmt, ...);
+	int	(*trace)(int8_t*fmt, ...);
 	PEMChain*chain;	/* optional extra certificate evidence for servers to present */
-	char	*sessionType;
-	uchar	*sessionKey;
+	int8_t	*sessionType;
+	uint8_t	*sessionKey;
 	int	sessionKeylen;
-	char	*sessionConst;
+	int8_t	*sessionConst;
 } TLSconn;
 
 /* tlshand.c */
@@ -407,12 +425,12 @@ int tlsClient(int fd, TLSconn *c);
 int tlsServer(int fd, TLSconn *c);
 
 /* thumb.c */
-Thumbprint* initThumbprints(char *ok, char *crl);
+Thumbprint* initThumbprints(int8_t *ok, int8_t *crl);
 void	freeThumbprints(Thumbprint *ok);
-int	okThumbprint(uchar *sha1, Thumbprint *ok);
+int	okThumbprint(uint8_t *sha1, Thumbprint *ok);
 
 /* readcert.c */
-uchar	*readcert(char *filename, int *pcertlen);
-PEMChain*readcertchain(char *filename);
+uint8_t	*readcert(int8_t *filename, int *pcertlen);
+PEMChain*readcertchain(int8_t *filename);
 
 #endif

+ 7 - 7
sys/include/ape/libv.h

@@ -21,24 +21,24 @@ extern "C" {
 extern void	srand(unsigned int);
 extern int	rand(void);
 extern int	nrand(int);
-extern long	lrand(void);
+extern int32_t	lrand(void);
 extern double	frand(void);
 
-extern char	*getpass(char *);
+extern int8_t	*getpass(int8_t *);
 extern int	tty_echoon(int);
 extern int	tty_echooff(int);
 
 extern int	min(int, int);
 extern int	max(int, int);
 
-extern void	_perror(char *);
-extern char	*_progname;
+extern void	_perror(int8_t *);
+extern int8_t	*_progname;
 
 extern int	nap(int);
 
-extern char	*setfields(char *);
-extern int	getfields(char *, char **, int);
-extern int	getmfields(char *, char **, int);
+extern int8_t	*setfields(int8_t *);
+extern int	getfields(int8_t *, int8_t **, int);
+extern int	getmfields(int8_t *, int8_t **, int);
 
 
 #ifdef __cplusplus

+ 19 - 19
sys/include/ape/locale.h

@@ -21,31 +21,31 @@
 #define LC_TIME		5
 
 struct lconv {
-	char *decimal_point;
-	char *thousands_sep;
-	char *grouping;
-	char *int_curr_symbol;
-	char *currency_symbol;
-	char *mon_decimal_point;
-	char *mon_thousands_sep;
-	char *mon_grouping;
-	char *positive_sign;
-	char *negative_sign;
-	char int_frac_digits;
-	char frac_digits;
-	char p_cs_precedes;
-	char p_sep_by_space;
-	char n_cs_precedes;
-	char n_sep_by_space;
-	char p_sign_posn;
-	char n_sign_posn;
+	int8_t *decimal_point;
+	int8_t *thousands_sep;
+	int8_t *grouping;
+	int8_t *int_curr_symbol;
+	int8_t *currency_symbol;
+	int8_t *mon_decimal_point;
+	int8_t *mon_thousands_sep;
+	int8_t *mon_grouping;
+	int8_t *positive_sign;
+	int8_t *negative_sign;
+	int8_t int_frac_digits;
+	int8_t frac_digits;
+	int8_t p_cs_precedes;
+	int8_t p_sep_by_space;
+	int8_t n_cs_precedes;
+	int8_t n_sep_by_space;
+	int8_t p_sign_posn;
+	int8_t n_sign_posn;
 };
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-extern char *setlocale(int, const char *);
+extern int8_t *setlocale(int, const int8_t *);
 extern struct lconv *localeconv(void);
 
 #ifdef __cplusplus

+ 2 - 2
sys/include/ape/lock.h

@@ -19,8 +19,8 @@
 
 typedef struct
 {
-	long	key;
-	long	sem;
+	int32_t	key;
+	int32_t	sem;
 } Lock;
 
 #ifdef __cplusplus

+ 12 - 12
sys/include/ape/mp.h

@@ -35,7 +35,7 @@ struct mpint
 	int	size;	/* allocated digits */
 	int	top;	/* significant digits */
 	mpdigit	*p;
-	char	flags;
+	int8_t	flags;
 };
 
 enum
@@ -55,24 +55,24 @@ mpint*	mpcopy(mpint *b);
 void	mpassign(mpint *old, mpint *new);
 
 /* random bits */
-mpint*	mprand(int bits, void (*gen)(uchar*, int), mpint *b);
+mpint*	mprand(int bits, void (*gen)(uint8_t*, int), mpint *b);
 
 /* conversion */
-mpint*	strtomp(char*, char**, int, mpint*);	/* ascii */
+mpint*	strtomp(int8_t*, int8_t**, int, mpint*);	/* ascii */
 int	mpfmt(Fmt*);
-char*	mptoa(mpint*, int, char*, int);
-mpint*	letomp(uchar*, uint, mpint*);	/* byte array, little-endian */
-int	mptole(mpint*, uchar*, uint, uchar**);
-mpint*	betomp(uchar*, uint, mpint*);	/* byte array, little-endian */
-int	mptobe(mpint*, uchar*, uint, uchar**);
+int8_t*	mptoa(mpint*, int, int8_t*, int);
+mpint*	letomp(uint8_t*, uint, mpint*);	/* byte array, little-endian */
+int	mptole(mpint*, uint8_t*, uint, uint8_t**);
+mpint*	betomp(uint8_t*, uint, mpint*);	/* byte array, little-endian */
+int	mptobe(mpint*, uint8_t*, uint, uint8_t**);
 uint	mptoui(mpint*);			/* unsigned int */
 mpint*	uitomp(uint, mpint*);
 int	mptoi(mpint*);			/* int */
 mpint*	itomp(int, mpint*);
-uvlong	mptouv(mpint*);			/* unsigned vlong */
-mpint*	uvtomp(uvlong, mpint*);
-vlong	mptov(mpint*);			/* vlong */
-mpint*	vtomp(vlong, mpint*);
+uint64_t	mptouv(mpint*);			/* unsigned vlong */
+mpint*	uvtomp(uint64_t, mpint*);
+int64_t	mptov(mpint*);			/* vlong */
+mpint*	vtomp(int64_t, mpint*);
 
 /* divide 2 digits by one */
 void	mpdigdiv(mpdigit *dividend, mpdigit divisor, mpdigit *quotient);

+ 21 - 21
sys/include/ape/netdb.h

@@ -47,11 +47,11 @@ extern "C" {
  * use in system calls).
  */
 struct	hostent {
-	char	*h_name;	/* official name of host */
-	char	**h_aliases;	/* alias list */
+	int8_t	*h_name;	/* official name of host */
+	int8_t	**h_aliases;	/* alias list */
 	int	h_addrtype;	/* host address type */
 	int	h_length;	/* length of address */
-	char	**h_addr_list;	/* list of addresses from name server */
+	int8_t	**h_addr_list;	/* list of addresses from name server */
 #define	h_addr	h_addr_list[0]	/* address, for backward compatiblity */
 };
 
@@ -60,45 +60,45 @@ struct	hostent {
  * fits in 32 bits -- probably a poor one.
  */
 struct	netent {
-	char		*n_name;	/* official name of net */
-	char		**n_aliases;	/* alias list */
+	int8_t		*n_name;	/* official name of net */
+	int8_t		**n_aliases;	/* alias list */
 	int		n_addrtype;	/* net address type */
 	unsigned long	n_net;		/* network # */
 };
 
 struct	servent {
-	char	*s_name;	/* official service name */
-	char	**s_aliases;	/* alias list */
+	int8_t	*s_name;	/* official service name */
+	int8_t	**s_aliases;	/* alias list */
 	int	s_port;		/* port # */
-	char	*s_proto;	/* protocol to use */
+	int8_t	*s_proto;	/* protocol to use */
 };
 
 struct	protoent {
-	char	*p_name;	/* official protocol name */
-	char	**p_aliases;	/* alias list */
+	int8_t	*p_name;	/* official protocol name */
+	int8_t	**p_aliases;	/* alias list */
 	int	p_proto;	/* protocol # */
 };
 
 /* from 4.0 RPCSRC */
 struct rpcent {
-	char	*r_name;	/* name of server for this rpc program */
-	char	**r_aliases;	/* alias list */
+	int8_t	*r_name;	/* name of server for this rpc program */
+	int8_t	**r_aliases;	/* alias list */
 	int	r_number;	/* rpc program number */
 };
 
-extern struct hostent	*gethostbyname(const char *),
+extern struct hostent	*gethostbyname(const int8_t *),
 			*gethostbyaddr(const void *, int, int),
 			*gethostent(void);
-extern struct netent	*getnetbyname(const char *),
-			*getnetbyaddr(long, int),
+extern struct netent	*getnetbyname(const int8_t *),
+			*getnetbyaddr(int32_t, int),
 			*getnetent(void);
-extern struct servent	*getservbyname(const char *, const char *),
-			*getservbyport(int, const char *),
+extern struct servent	*getservbyname(const int8_t *, const int8_t *),
+			*getservbyport(int, const int8_t *),
 			*getservent(void);
-extern struct protoent	*getprotobyname(const char *),
+extern struct protoent	*getprotobyname(const int8_t *),
 			*getprotobynumber(int),
 			*getprotoent(void);
-extern struct rpcent	*getrpcbyname(const char *), 
+extern struct rpcent	*getrpcbyname(const int8_t *), 
 			*getrpcbynumber(int), 
 			*getrpcent(void);
 extern void sethostent(int),  endhostent(void),
@@ -112,8 +112,8 @@ extern void sethostent(int),  endhostent(void),
  * (left in extern int h_errno).
  */
 extern int h_errno;
-extern void herror(const char *);
-extern char *hstrerror(int);
+extern void herror(const int8_t *);
+extern int8_t *hstrerror(int);
 
 #define	HOST_NOT_FOUND	1 /* Authoritative Answer Host not found */
 #define	TRY_AGAIN	2 /* Non-Authoritive Host not found, or SERVERFAIL */

+ 11 - 11
sys/include/ape/netinet/in.h

@@ -81,28 +81,28 @@ struct in_addr {
  * On subnets, the decomposition of addresses to host and net parts
  * is done according to subnet mask, not the masks here.
  */
-#define	IN_CLASSA(i)		(((long)(i) & 0x80000000) == 0)
+#define	IN_CLASSA(i)		(((int32_t)(i) & 0x80000000) == 0)
 #define	IN_CLASSA_NET		0xff000000
 #define	IN_CLASSA_NSHIFT	24
 #define	IN_CLASSA_HOST		0x00ffffff
 #define	IN_CLASSA_MAX		128
 
-#define	IN_CLASSB(i)		(((long)(i) & 0xc0000000) == 0x80000000)
+#define	IN_CLASSB(i)		(((int32_t)(i) & 0xc0000000) == 0x80000000)
 #define	IN_CLASSB_NET		0xffff0000
 #define	IN_CLASSB_NSHIFT	16
 #define	IN_CLASSB_HOST		0x0000ffff
 #define	IN_CLASSB_MAX		65536
 
-#define	IN_CLASSC(i)		(((long)(i) & 0xe0000000) == 0xc0000000)
+#define	IN_CLASSC(i)		(((int32_t)(i) & 0xe0000000) == 0xc0000000)
 #define	IN_CLASSC_NET		0xffffff00
 #define	IN_CLASSC_NSHIFT	8
 #define	IN_CLASSC_HOST		0x000000ff
 
-#define	IN_CLASSD(i)		(((long)(i) & 0xf0000000) == 0xe0000000)
+#define	IN_CLASSD(i)		(((int32_t)(i) & 0xf0000000) == 0xe0000000)
 #define	IN_MULTICAST(i)		IN_CLASSD(i)
 
-#define	IN_EXPERIMENTAL(i)	(((long)(i) & 0xe0000000) == 0xe0000000)
-#define	IN_BADCLASS(i)		(((long)(i) & 0xf0000000) == 0xf0000000)
+#define	IN_EXPERIMENTAL(i)	(((int32_t)(i) & 0xe0000000) == 0xe0000000)
+#define	IN_BADCLASS(i)		(((int32_t)(i) & 0xf0000000) == 0xf0000000)
 
 #define	INADDR_ANY		(unsigned long)0x00000000
 #define	INADDR_BROADCAST	(unsigned long)0xffffffff	/* must be masked */
@@ -114,10 +114,10 @@ struct in_addr {
  * Socket address, internet style.
  */
 struct sockaddr_in {
-	short	sin_family;
+	int16_t	sin_family;
 	unsigned short	sin_port;
 	struct	in_addr sin_addr;
-	char	sin_zero[8];
+	int8_t	sin_zero[8];
 };
 
 /*
@@ -129,7 +129,7 @@ struct sockaddr_in {
  */
 struct ip_opts {
 	struct	in_addr ip_dst;		/* first hop, 0 w/o src rt */
-	char	ip_opts[40];		/* actually variable in size */
+	int8_t	ip_opts[40];		/* actually variable in size */
 };
 
 /*
@@ -145,8 +145,8 @@ extern unsigned long	ntohl(unsigned long x);
 extern unsigned short	ntohs(unsigned short x);
 extern unsigned long	htonl(unsigned long x);
 extern unsigned short	htons(unsigned short x);
-extern unsigned long	inet_addr(char*);
-extern char*		inet_ntoa(struct in_addr);
+extern unsigned long	inet_addr(int8_t*);
+extern int8_t*		inet_ntoa(struct in_addr);
 extern unsigned long	nptohl(void*);
 
 #ifdef __cplusplus

+ 4 - 4
sys/include/ape/pwd.h

@@ -16,11 +16,11 @@
 #include <sys/types.h>
 
 struct passwd {
-	char	*pw_name;
+	int8_t	*pw_name;
 	uid_t	pw_uid;
 	gid_t	pw_gid;
-	char	*pw_dir;
-	char	*pw_shell;
+	int8_t	*pw_dir;
+	int8_t	*pw_shell;
 };
 
 #ifdef __cplusplus
@@ -28,7 +28,7 @@ extern "C" {
 #endif
 
 extern struct passwd *getpwuid(uid_t);
-extern struct passwd *getpwnam(const char *);
+extern struct passwd *getpwnam(const int8_t *);
 
 #ifdef __cplusplus
 }

+ 1 - 1
sys/include/ape/qlock.h

@@ -23,7 +23,7 @@ struct QLp
 {
 	int	inuse;
 	QLp	*next;
-	char	state;
+	int8_t	state;
 };
 
 typedef

+ 8 - 8
sys/include/ape/regexp.h

@@ -31,12 +31,12 @@ typedef struct Reprog		Reprog;
 struct Resub{
 	union
 	{
-		char *sp;
+		int8_t *sp;
 		wchar_t *rsp;
 	} s;
 	union
 	{
-		char *ep;
+		int8_t *ep;
 		wchar_t *rep;
 	} e;
 };
@@ -75,12 +75,12 @@ struct Reprog{
 	Reinst	firstinst[5];	/* .text */
 };
 
-extern Reprog	*regcomp(char*);
-extern Reprog	*regcomplit(char*);
-extern Reprog	*regcompnl(char*);
-extern void	regerror(char*);
-extern int	regexec(Reprog*, char*, Resub*, int);
-extern void	regsub(char*, char*, int, Resub*, int);
+extern Reprog	*regcomp(int8_t*);
+extern Reprog	*regcomplit(int8_t*);
+extern Reprog	*regcompnl(int8_t*);
+extern void	regerror(int8_t*);
+extern int	regexec(Reprog*, int8_t*, Resub*, int);
+extern void	regsub(int8_t*, int8_t*, int, Resub*, int);
 extern int	rregexec(Reprog*, wchar_t*, Resub*, int);
 extern void	rregsub(wchar_t*, wchar_t*, int, Resub*, int);
 #endif

+ 1 - 1
sys/include/ape/select.h

@@ -21,7 +21,7 @@
 /* assume 96 fds is sufficient for fdset size */
 
 typedef struct fd_set {
-	long fds_bits[3];
+	int32_t fds_bits[3];
 } fd_set;
 
 #define FD_SET(n,p)	((p)->fds_bits[(n)>>5] |= (1 << ((n) &0x1f)))

+ 1 - 1
sys/include/ape/signal.h

@@ -64,7 +64,7 @@ extern int raise(int);
 
 #ifdef _POSIX_SOURCE
 
-typedef long sigset_t;
+typedef int32_t sigset_t;
 struct sigaction {
 	void		(*sa_handler)();
 	sigset_t	sa_mask;

+ 38 - 38
sys/include/ape/stdio.h

@@ -39,14 +39,14 @@
  */
 typedef struct{
 	int fd;		/* UNIX file pointer */
-	char flags;	/* bits for must free buffer on close, line-buffered */
-	char state;	/* last operation was read, write, position, error, eof */
-	char *buf;	/* pointer to i/o buffer */
-	char *rp;	/* read pointer (or write end-of-buffer) */
-	char *wp;	/* write pointer (or read end-of-buffer) */
-	char *lp;	/* actual write pointer used when line-buffering */
+	int8_t flags;	/* bits for must free buffer on close, line-buffered */
+	int8_t state;	/* last operation was read, write, position, error, eof */
+	int8_t *buf;	/* pointer to i/o buffer */
+	int8_t *rp;	/* read pointer (or write end-of-buffer) */
+	int8_t *wp;	/* write pointer (or read end-of-buffer) */
+	int8_t *lp;	/* actual write pointer used when line-buffering */
 	size_t bufl;	/* actual length of buffer */
-	char unbuf[1];	/* tiny buffer for unbuffered io (used for ungetc?) */
+	int8_t unbuf[1];	/* tiny buffer for unbuffered io (used for ungetc?) */
 }FILE;
 typedef long long fpos_t;
 #ifndef NULL
@@ -82,80 +82,80 @@ typedef long long fpos_t;
 extern "C" {
 #endif
 
-extern int remove(const char *);
-extern int rename(const char *, const char *);
+extern int remove(const int8_t *);
+extern int rename(const int8_t *, const int8_t *);
 extern FILE *tmpfile(void);
-extern char *tmpnam(char *);
+extern int8_t *tmpnam(int8_t *);
 extern int fclose(FILE *);
 extern int fflush(FILE *);
-extern FILE *fopen(const char *, const char *);
-extern FILE *freopen(const char *, const char *, FILE *);
-extern void setbuf(FILE *, char *);
-extern int setvbuf(FILE *, char *, int, size_t);
-extern int fprintf(FILE *, const char *, ...);
-extern int fscanf(FILE *, const char *, ...);
-extern int printf(const char *, ...);
-extern int scanf(const char *, ...);
-extern int sprintf(char *, const char *, ...);
+extern FILE *fopen(const int8_t *, const int8_t *);
+extern FILE *freopen(const int8_t *, const int8_t *, FILE *);
+extern void setbuf(FILE *, int8_t *);
+extern int setvbuf(FILE *, int8_t *, int, size_t);
+extern int fprintf(FILE *, const int8_t *, ...);
+extern int fscanf(FILE *, const int8_t *, ...);
+extern int printf(const int8_t *, ...);
+extern int scanf(const int8_t *, ...);
+extern int sprintf(int8_t *, const int8_t *, ...);
 
 /*
  * NB: C99 now *requires *snprintf to return the number of characters
  * that would have been written, had there been room.
  */
-extern int snprintf(char *, size_t, const char *, ...);
-extern int vsnprintf(char *, size_t, const char *, va_list);
+extern int snprintf(int8_t *, size_t, const int8_t *, ...);
+extern int vsnprintf(int8_t *, size_t, const int8_t *, va_list);
 
-extern int sscanf(const char *, const char *, ...);
-extern int vfprintf(FILE *, const char *, va_list);
-extern int vprintf(const char *, va_list);
-extern int vsprintf(char *, const char *, va_list);
-extern int vfscanf(FILE *, const char *, va_list);
+extern int sscanf(const int8_t *, const int8_t *, ...);
+extern int vfprintf(FILE *, const int8_t *, va_list);
+extern int vprintf(const int8_t *, va_list);
+extern int vsprintf(int8_t *, const int8_t *, va_list);
+extern int vfscanf(FILE *, const int8_t *, va_list);
 extern int fgetc(FILE *);
-extern char *fgets(char *, int, FILE *);
+extern int8_t *fgets(int8_t *, int, FILE *);
 extern int fputc(int, FILE *);
-extern int fputs(const char *, FILE *);
+extern int fputs(const int8_t *, FILE *);
 extern int getc(FILE *);
 #define	getc(f)	((f)->rp>=(f)->wp?_IO_getc(f):*(f)->rp++&_IO_CHMASK)
 extern int _IO_getc(FILE *f);
 extern int getchar(void);
 #define	getchar()	getc(stdin)
-extern char *gets(char *);
+extern int8_t *gets(int8_t *);
 extern int putc(int, FILE *);
 #define	putc(c, f) ((f)->wp>=(f)->rp?_IO_putc(c, f):(*(f)->wp++=c)&_IO_CHMASK)
 extern int _IO_putc(int, FILE *);
 extern int putchar(int);
 #define	putchar(c)	putc(c, stdout)
-extern int puts(const char *);
+extern int puts(const int8_t *);
 extern int ungetc(int, FILE *);
 extern size_t fread(void *, size_t, size_t, FILE *);
 extern size_t fwrite(const void *, size_t, size_t, FILE *);
 extern int fgetpos(FILE *, fpos_t *);
-extern int fseek(FILE *, long, int);
+extern int fseek(FILE *, int32_t, int);
 extern int fseeko(FILE *, off_t, int);
 extern int fsetpos(FILE *, const fpos_t *);
-extern long ftell(FILE *);
+extern int32_t ftell(FILE *);
 extern off_t ftello(FILE *);
 extern void rewind(FILE *);
 extern void clearerr(FILE *);
 extern int feof(FILE *);
 extern int ferror(FILE *);
-extern void perror(const char *);
+extern void perror(const int8_t *);
 extern FILE _IO_stream[FOPEN_MAX];
 
 #ifdef _POSIX_SOURCE
 extern int fileno(FILE *);
-extern FILE* fdopen(int, const char*);
-extern char *ctermid(char *);
+extern FILE* fdopen(int, const int8_t*);
+extern int8_t *ctermid(int8_t *);
 #endif
 
 #ifdef _REENTRANT_SOURCE
-extern char *tmpnam_r(char *);
-extern char *ctermid_r(char *);
+extern int8_t *tmpnam_r(int8_t *);
+extern int8_t *ctermid_r(int8_t *);
 #endif
 
 #ifdef _BSD_EXTENSION
 #pragma lib "/$M/lib/ape/libbsd.a"
-extern FILE *popen(char *, char *);
+extern FILE *popen(int8_t *, int8_t *);
 extern int	pclose(FILE *);
 #endif
 

+ 17 - 17
sys/include/ape/stdlib.h

@@ -19,21 +19,21 @@
 #define RAND_MAX 32767
 
 typedef struct { int quot, rem; } div_t;
-typedef struct { long quot, rem; } ldiv_t;
+typedef struct { int32_t quot, rem; } ldiv_t;
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-extern double atof(const char *);
-extern int atoi(const char *);
-extern long int atol(const char *);
-extern long long atoll(const char *);
-extern double strtod(const char *, char **);
-extern long int strtol(const char *, char **, int);
-extern unsigned long int strtoul(const char *, char **, int);
-extern long long int strtoll(const char *, char **, int);
-extern unsigned long long int strtoull(const char *, char **, int);
+extern double atof(const int8_t *);
+extern int atoi(const int8_t *);
+extern long int atol(const int8_t *);
+extern long long atoll(const int8_t *);
+extern double strtod(const int8_t *, int8_t **);
+extern long int strtol(const int8_t *, int8_t **, int);
+extern unsigned long int strtoul(const int8_t *, int8_t **, int);
+extern long long int strtoll(const int8_t *, int8_t **, int);
+extern unsigned long long int strtoull(const int8_t *, int8_t **, int);
 extern int rand(void);
 extern void srand(unsigned int seed);
 extern void *calloc(size_t, size_t);
@@ -43,19 +43,19 @@ extern void *realloc(void *, size_t);
 extern void abort(void);
 extern int atexit(void (*func)(void));
 extern void exit(int);
-extern char *getenv(const char *);
-extern int system(const char *);
+extern int8_t *getenv(const int8_t *);
+extern int system(const int8_t *);
 extern void *bsearch(const void *, const void *, size_t, size_t, int (*)(const void *, const void *));
 extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
 extern int abs(int);
 extern div_t div(int, int);
 extern long int labs(long int);
 extern ldiv_t ldiv(long int, long int);
-extern int mblen(const char *, size_t);
-extern int mbtowc(wchar_t *, const char *, size_t);
-extern int wctomb(char *, wchar_t);
-extern size_t mbstowcs(wchar_t *, const char *, size_t);
-extern size_t wcstombs(char *, const wchar_t *, size_t);
+extern int mblen(const int8_t *, size_t);
+extern int mbtowc(wchar_t *, const int8_t *, size_t);
+extern int wctomb(int8_t *, wchar_t);
+extern size_t mbstowcs(wchar_t *, const int8_t *, size_t);
+extern size_t wcstombs(int8_t *, const wchar_t *, size_t);
 
 #ifdef __cplusplus
 }

+ 20 - 20
sys/include/ape/string.h

@@ -20,31 +20,31 @@ extern "C" {
 extern void *memcpy(void *, const void *, size_t);
 extern void* memccpy(void*, void*, int, size_t);
 extern void *memmove(void *, const void *, size_t);
-extern char *strcpy(char *, const char *);
-extern char *strncpy(char *, const char *, size_t);
-extern char *strcat(char *, const char *);
-extern char *strncat(char *, const char *, size_t);
+extern int8_t *strcpy(int8_t *, const int8_t *);
+extern int8_t *strncpy(int8_t *, const int8_t *, size_t);
+extern int8_t *strcat(int8_t *, const int8_t *);
+extern int8_t *strncat(int8_t *, const int8_t *, size_t);
 extern int memcmp(const void *, const void *, size_t);
-extern int strcmp(const char *, const char *);
-extern int strcoll(const char *, const char *);
-extern char* strdup(char*);
-extern int strncmp(const char *, const char *, size_t);
-extern size_t strxfrm(char *, const char *, size_t);
+extern int strcmp(const int8_t *, const int8_t *);
+extern int strcoll(const int8_t *, const int8_t *);
+extern int8_t* strdup(int8_t*);
+extern int strncmp(const int8_t *, const int8_t *, size_t);
+extern size_t strxfrm(int8_t *, const int8_t *, size_t);
 extern void *memchr(const void *, int, size_t);
-extern char *strchr(const char *, int);
-extern size_t strcspn(const char *, const char *);
-extern char *strpbrk(const char *, const char *);
-extern char *strrchr(const char *, int);
-extern size_t strspn(const char *, const char *);
-extern char *strstr(const char *, const char *);
-extern char *strtok(char *, const char *);
+extern int8_t *strchr(const int8_t *, int);
+extern size_t strcspn(const int8_t *, const int8_t *);
+extern int8_t *strpbrk(const int8_t *, const int8_t *);
+extern int8_t *strrchr(const int8_t *, int);
+extern size_t strspn(const int8_t *, const int8_t *);
+extern int8_t *strstr(const int8_t *, const int8_t *);
+extern int8_t *strtok(int8_t *, const int8_t *);
 extern void *memset(void *, int, size_t);
-extern char *strerror(int);
-extern size_t strlen(const char *);
+extern int8_t *strerror(int);
+extern size_t strlen(const int8_t *);
 
 #ifdef _REENTRANT_SOURCE
-extern char *strerror_r(int, const char *, int);
-extern char *strtok_r(char *, const char *, char **);
+extern int8_t *strerror_r(int, const int8_t *, int);
+extern int8_t *strtok_r(int8_t *, const int8_t *, int8_t **);
 #endif
 
 #ifdef _BSD_EXTENSION

+ 2 - 2
sys/include/ape/sys/pty.h

@@ -19,8 +19,8 @@
 
 #pragma lib "/$M/lib/ape/libbsd.a"
 
-char*	ptsname(int);
-char*	ptmname(int);
+int8_t*	ptsname(int);
+int8_t*	ptmname(int);
 
 int	_getpty(void);
 

+ 14 - 14
sys/include/ape/sys/resource.h

@@ -17,21 +17,21 @@
 struct rusage {
 	struct timeval ru_utime;	/* user time used */
 	struct timeval ru_stime;	/* system time used */
-	long	ru_maxrss;		/* max resident set size */
+	int32_t	ru_maxrss;		/* max resident set size */
 #define	ru_first	ru_ixrss
-	long	ru_ixrss;		/* integral shared memory size */
-	long	ru_idrss;		/* integral unshared data " */
-	long	ru_isrss;		/* integral unshared stack " */
-	long	ru_minflt;		/* page reclaims */
-	long	ru_majflt;		/* page faults */
-	long	ru_nswap;		/* swaps */
-	long	ru_inblock;		/* block input operations */
-	long	ru_oublock;		/* block output operations */
-	long	ru_msgsnd;		/* messages sent */
-	long	ru_msgrcv;		/* messages received */
-	long	ru_nsignals;		/* signals received */
-	long	ru_nvcsw;		/* voluntary context switches */
-	long	ru_nivcsw;		/* involuntary " */
+	int32_t	ru_ixrss;		/* integral shared memory size */
+	int32_t	ru_idrss;		/* integral unshared data " */
+	int32_t	ru_isrss;		/* integral unshared stack " */
+	int32_t	ru_minflt;		/* page reclaims */
+	int32_t	ru_majflt;		/* page faults */
+	int32_t	ru_nswap;		/* swaps */
+	int32_t	ru_inblock;		/* block input operations */
+	int32_t	ru_oublock;		/* block output operations */
+	int32_t	ru_msgsnd;		/* messages sent */
+	int32_t	ru_msgrcv;		/* messages received */
+	int32_t	ru_nsignals;		/* signals received */
+	int32_t	ru_nvcsw;		/* voluntary context switches */
+	int32_t	ru_nivcsw;		/* involuntary " */
 #define	ru_last		ru_nivcsw
 };
 

+ 1 - 1
sys/include/ape/sys/select.h

@@ -21,7 +21,7 @@
 /* assume 96 fds is sufficient for fdset size */
 
 typedef struct fd_set {
-	long fds_bits[3];
+	int32_t fds_bits[3];
 } fd_set;
 
 #define FD_SET(n,p)	((p)->fds_bits[(n)>>5] |= (1 << ((n) &0x1f)))

+ 3 - 3
sys/include/ape/sys/socket.h

@@ -117,7 +117,7 @@ struct	linger {
  */
 struct sockaddr {
 	unsigned short	sa_family;	/* address family */
-	char	sa_data[108];
+	int8_t	sa_data[108];
 };
 
 /*
@@ -166,11 +166,11 @@ struct sockproto {
  * Message header for recvmsg and sendmsg calls.
  */
 struct msghdr {
-	char	*msg_name;		/* optional address */
+	int8_t	*msg_name;		/* optional address */
 	int	msg_namelen;		/* size of address */
 	struct	iovec *msg_iov;		/* scatter/gather array */
 	int	msg_iovlen;		/* # elements in msg_iov */
-	char	*msg_accrights;		/* access rights sent/received */
+	int8_t	*msg_accrights;		/* access rights sent/received */
 	int	msg_accrightslen;
 };
 

+ 7 - 7
sys/include/ape/sys/stat.h

@@ -73,17 +73,17 @@ extern "C" {
 #endif
 
 extern mode_t umask(mode_t);
-extern int mkdir(const char *, mode_t);
-extern int mkfifo(const char *, mode_t);
-extern int stat(const char *, struct stat *);
+extern int mkdir(const int8_t *, mode_t);
+extern int mkfifo(const int8_t *, mode_t);
+extern int stat(const int8_t *, struct stat *);
 extern int fstat(int, struct stat *);
-extern int chmod(const char *, mode_t);
+extern int chmod(const int8_t *, mode_t);
 
 #ifdef _BSD_EXTENSION
 #pragma lib "/$M/lib/ape/libbsd.a"
-extern int	lstat(char *, struct stat *);
-extern int	symlink(char *, char *);
-extern int	readlink(char *, char*, int);
+extern int	lstat(int8_t *, struct stat *);
+extern int	symlink(int8_t *, int8_t *);
+extern int	readlink(int8_t *, int8_t*, int);
 #endif
 
 #ifdef __cplusplus

+ 2 - 2
sys/include/ape/sys/time.h

@@ -14,8 +14,8 @@
 #ifndef __TIMEVAL__
 #define __TIMEVAL__
 struct timeval {
-	long	tv_sec;
-	long	tv_usec;
+	int32_t	tv_sec;
+	int32_t	tv_usec;
 };
 
 #ifdef _BSD_EXTENSION

+ 1 - 1
sys/include/ape/sys/times.h

@@ -13,7 +13,7 @@
 
 #ifndef _CLOCK_T
 #define _CLOCK_T
-typedef long clock_t;
+typedef int32_t clock_t;
 #endif
 
 struct tms {

+ 6 - 6
sys/include/ape/sys/types.h

@@ -15,9 +15,9 @@ typedef	unsigned short	ino_t;
 typedef	unsigned short	dev_t;
 typedef	long long		off_t;
 typedef unsigned short	mode_t;
-typedef short		uid_t;
-typedef short		gid_t;
-typedef short		nlink_t;
+typedef int16_t		uid_t;
+typedef int16_t		gid_t;
+typedef int16_t		nlink_t;
 typedef int		pid_t;
 
 #ifndef _SIZE_T
@@ -31,19 +31,19 @@ typedef long ssize_t;
 
 #ifndef _TIME_T
 #define _TIME_T
-typedef long time_t;
+typedef int32_t time_t;
 #endif
 
 #ifdef _BSD_EXTENSION
 #ifndef _CADDR_T
 #define _CADDR_T
-typedef char * caddr_t;
+typedef int8_t * caddr_t;
 #endif
 #ifndef _FD_SET_T
 #define _FD_SET_T
 /* also cf <select.h> */
 typedef struct fd_set {
-	long fds_bits[3];
+	int32_t fds_bits[3];
 } fd_set;
 #define FD_SET(n,p)	((p)->fds_bits[(n)>>5] |= (1 << ((n) &0x1f)))
 #define FD_CLR(n,p)	((p)->fds_bits[(n)>>5] &= ~(1 << ((n) &0x1f)))

+ 1 - 1
sys/include/ape/sys/uio.h

@@ -29,7 +29,7 @@ extern "C" {
  */
 
 struct iovec {
-	char	*iov_base;
+	int8_t	*iov_base;
 	int	iov_len;
 };
 

+ 2 - 2
sys/include/ape/sys/un.h

@@ -30,6 +30,6 @@
  * Definitions for UNIX IPC domain.
  */
 struct	sockaddr_un {
-	short	sun_family;		/* AF_UNIX */
-	char	sun_path[108];		/* path name (gag) */
+	int16_t	sun_family;		/* AF_UNIX */
+	int8_t	sun_path[108];		/* path name (gag) */
 };

+ 5 - 5
sys/include/ape/sys/utsname.h

@@ -12,11 +12,11 @@
 #pragma lib "/$M/lib/ape/libap.a"
 
 struct utsname {
-	char	*sysname;
-	char	*nodename;
-	char	*release;
-	char	*version;
-	char	*machine;
+	int8_t	*sysname;
+	int8_t	*nodename;
+	int8_t	*release;
+	int8_t	*version;
+	int8_t	*machine;
 };
 
 #ifdef __cplusplus

+ 7 - 7
sys/include/ape/time.h

@@ -20,11 +20,11 @@
 
 #ifndef _CLOCK_T
 #define _CLOCK_T
-typedef long clock_t;
+typedef int32_t clock_t;
 #endif
 #ifndef _TIME_T
 #define _TIME_T
-typedef long time_t;
+typedef int32_t time_t;
 #endif
 
 struct tm {
@@ -47,16 +47,16 @@ extern clock_t clock(void);
 extern double difftime(time_t, time_t);
 extern time_t mktime(struct tm *);
 extern time_t time(time_t *);
-extern char *asctime(const struct tm *);
-extern char *ctime(const time_t *);
+extern int8_t *asctime(const struct tm *);
+extern int8_t *ctime(const time_t *);
 extern struct tm *gmtime(const time_t *);
 extern struct tm *localtime(const time_t *);
-extern size_t strftime(char *, size_t, const char *, const struct tm *);
+extern size_t strftime(int8_t *, size_t, const int8_t *, const struct tm *);
 
 #ifdef _REENTRANT_SOURCE
 extern struct tm *gmtime_r(const time_t *, struct tm *);
 extern struct tm *localtime_r(const time_t *, struct tm *);
-extern char *ctime_r(const time_t *, char *);
+extern int8_t *ctime_r(const time_t *, int8_t *);
 #endif
 
 #ifdef _POSIX_SOURCE
@@ -68,7 +68,7 @@ extern void tzset(void);
 #endif
 
 #ifdef _POSIX_SOURCE
-extern char *tzname[2];
+extern int8_t *tzname[2];
 #endif
 
 #endif /* __TIME_H */

+ 1 - 1
sys/include/ape/u.h

@@ -23,6 +23,6 @@ typedef	long long	vlong;
 typedef	unsigned long long uvlong;
 typedef	unsigned int		Rune;
 typedef 	union FPdbleword FPdbleword;
-typedef	char*	p9va_list;
+typedef	int8_t*	p9va_list;
 
 #endif

+ 21 - 21
sys/include/ape/unistd.h

@@ -93,12 +93,12 @@ extern "C" {
 #endif
 
 /* process primitives */
-extern int execl(const char *, const char *, ...);
-extern int execv(const char *, const char **);
-extern int execle(const char *, const char *, const char *,  ...);
-extern int execve(const char *, const char **, const char **);
-extern int execlp(const char *, const char *, ...);
-extern int execvp(const char *, const char **);
+extern int execl(const int8_t *, const int8_t *, ...);
+extern int execv(const int8_t *, const int8_t **);
+extern int execle(const int8_t *, const int8_t *, const int8_t *,  ...);
+extern int execve(const int8_t *, const int8_t **, const int8_t **);
+extern int execlp(const int8_t *, const int8_t *, ...);
+extern int execvp(const int8_t *, const int8_t **);
 extern void _exit(int);
 extern unsigned int alarm(unsigned int);
 extern int pause(void);
@@ -108,11 +108,11 @@ extern pid_t fork(void);
 #endif
 
 /* process environment */
-extern char *getlogin(void);
-extern char *cuserid(char *);
-extern char *ttyname(int);
+extern int8_t *getlogin(void);
+extern int8_t *cuserid(int8_t *);
+extern int8_t *ttyname(int);
 extern int isatty(int);
-extern long sysconf(int);
+extern int32_t sysconf(int);
 #ifdef __TYPES_H
 extern pid_t getpid(void);
 extern pid_t getppid(void);
@@ -129,17 +129,17 @@ extern pid_t setsid(void);
 #endif
 
 /* files and directories */
-extern int chdir(const char *);
-extern int link(const char *, const char *);
-extern char *getcwd(char *, size_t);
-extern int unlink(const char *);
-extern int rmdir(const char *);
-extern int rename(const char *, const char *);
-extern int access(const char *, int);
-extern long pathconf(const char *, int);
-extern long fpathconf(int, int);
+extern int chdir(const int8_t *);
+extern int link(const int8_t *, const int8_t *);
+extern int8_t *getcwd(int8_t *, size_t);
+extern int unlink(const int8_t *);
+extern int rmdir(const int8_t *);
+extern int rename(const int8_t *, const int8_t *);
+extern int access(const int8_t *, int);
+extern int32_t pathconf(const int8_t *, int);
+extern int32_t fpathconf(int, int);
 #ifdef __TYPES_H
-extern int chown(const char *, uid_t, gid_t);
+extern int chown(const int8_t *, uid_t, gid_t);
 #endif
 
 /* input and output primitives */
@@ -161,7 +161,7 @@ extern int tcsetpgrp(int, pid_t);
 #endif
 
 #ifdef _REENTRANT_SOURCE
-extern char *getlogin_r(char *, int);
+extern int8_t *getlogin_r(int8_t *, int);
 #endif
 
 /* berkeley specific functions */

+ 14 - 14
sys/include/ape/utf.h

@@ -30,29 +30,29 @@ enum
 /*
  * rune routines
  */
-extern	int	runetochar(char*, Rune*);
-extern	int	chartorune(Rune*, char*);
-extern	int	runelen(long);
+extern	int	runetochar(int8_t*, Rune*);
+extern	int	chartorune(Rune*, int8_t*);
+extern	int	runelen(int32_t);
 extern	int	runenlen(Rune*, int);
-extern	int	fullrune(char*, int);
-extern	int	utflen(char*);
-extern	int	utfnlen(char*, long);
-extern	char*	utfrune(char*, long);
-extern	char*	utfrrune(char*, long);
-extern	char*	utfutf(char*, char*);
-extern	char*	utfecpy(char*, char*, char*);
+extern	int	fullrune(int8_t*, int);
+extern	int	utflen(int8_t*);
+extern	int	utfnlen(int8_t*, int32_t);
+extern	int8_t*	utfrune(int8_t*, int32_t);
+extern	int8_t*	utfrrune(int8_t*, int32_t);
+extern	int8_t*	utfutf(int8_t*, int8_t*);
+extern	int8_t*	utfecpy(int8_t*, int8_t*, int8_t*);
 
 extern	Rune*	runestrcat(Rune*, Rune*);
 extern	Rune*	runestrchr(Rune*, Rune);
 extern	int	runestrcmp(Rune*, Rune*);
 extern	Rune*	runestrcpy(Rune*, Rune*);
-extern	Rune*	runestrncpy(Rune*, Rune*, long);
+extern	Rune*	runestrncpy(Rune*, Rune*, int32_t);
 extern	Rune*	runestrecpy(Rune*, Rune*, Rune*);
 extern	Rune*	runestrdup(Rune*);
-extern	Rune*	runestrncat(Rune*, Rune*, long);
-extern	int	runestrncmp(Rune*, Rune*, long);
+extern	Rune*	runestrncat(Rune*, Rune*, int32_t);
+extern	int	runestrncmp(Rune*, Rune*, int32_t);
 extern	Rune*	runestrrchr(Rune*, Rune);
-extern	long	runestrlen(Rune*);
+extern	int32_t	runestrlen(Rune*);
 extern	Rune*	runestrstr(Rune*, Rune*);
 
 extern	Rune	tolowerrune(Rune);

+ 1 - 1
sys/include/ape/utime.h

@@ -22,7 +22,7 @@ struct utimbuf
 extern "C" {
 #endif
 
-extern int utime(const char *, const struct utimbuf *);
+extern int utime(const int8_t *, const struct utimbuf *);
 
 #ifdef __cplusplus
 }

+ 7 - 7
sys/include/ar.h

@@ -15,12 +15,12 @@
 
 struct	ar_hdr
 {
-	char	name[SARNAME];
-	char	date[12];
-	char	uid[6];
-	char	gid[6];
-	char	mode[8];
-	char	size[10];
-	char	fmag[2];
+	int8_t	name[SARNAME];
+	int8_t	date[12];
+	int8_t	uid[6];
+	int8_t	gid[6];
+	int8_t	mode[8];
+	int8_t	size[10];
+	int8_t	fmag[2];
 };
 #define	SAR_HDR	(SARNAME+44)

+ 47 - 41
sys/include/auth.h

@@ -44,25 +44,25 @@ enum
 struct AuthRpc
 {
 	int afd;
-	char ibuf[AuthRpcMax+1];	/* +1 for NUL in auth_rpc.c */
-	char obuf[AuthRpcMax];
-	char *arg;
+	int8_t ibuf[AuthRpcMax+1];	/* +1 for NUL in auth_rpc.c */
+	int8_t obuf[AuthRpcMax];
+	int8_t *arg;
 	uint narg;
 };
 
 struct AuthInfo
 {
-	char	*cuid;		/* caller id */
-	char	*suid;		/* server id */
-	char	*cap;		/* capability (only valid on server side) */
+	int8_t	*cuid;		/* caller id */
+	int8_t	*suid;		/* server id */
+	int8_t	*cap;		/* capability (only valid on server side) */
 	int	nsecret;	/* length of secret */
-	uchar	*secret;	/* secret */
+	uint8_t	*secret;	/* secret */
 };
 
 struct Chalstate
 {
-	char	*user;
-	char	chal[MAXCHLEN];
+	int8_t	*user;
+	int8_t	chal[MAXCHLEN];
 	int	nchal;
 	void	*resp;
 	int	nresp;
@@ -70,37 +70,37 @@ struct Chalstate
 /* for implementation only */
 	int	afd;			/* to factotum */
 	AuthRpc	*rpc;			/* to factotum */
-	char	userbuf[MAXNAMELEN];	/* temp space if needed */
+	int8_t	userbuf[MAXNAMELEN];	/* temp space if needed */
 	int	userinchal;		/* user was sent to obtain challenge */
 };
 
 struct	Chapreply		/* for protocol "chap" */
 {
-	uchar	id;
-	char	resp[MD5LEN];
+	uint8_t	id;
+	int8_t	resp[MD5LEN];
 };
 
 struct	MSchapreply	/* for protocol "mschap" */
 {
-	char	LMresp[24];		/* Lan Manager response */
-	char	NTresp[24];		/* NT response */
+	int8_t	LMresp[24];		/* Lan Manager response */
+	int8_t	NTresp[24];		/* NT response */
 };
 
 struct	UserPasswd
 {
-	char	*user;
-	char	*passwd;
+	int8_t	*user;
+	int8_t	*passwd;
 };
 
-extern	int	newns(char*, char*);
-extern	int	addns(char*, char*);
+extern	int	newns(int8_t*, int8_t*);
+extern	int	addns(int8_t*, int8_t*);
 
-extern	int	noworld(char*);
-extern	int	amount(int, char*, int, char*);
+extern	int	noworld(int8_t*);
+extern	int	amount(int, int8_t*, int, int8_t*);
 
 /* these two may get generalized away -rsc */
-extern	int	login(char*, char*, char*);
-extern	int	httpauth(char*, char*);
+extern	int	login(int8_t*, int8_t*, int8_t*);
+extern	int	httpauth(int8_t*, int8_t*);
 
 typedef struct Attr Attr;
 enum {
@@ -112,40 +112,46 @@ struct Attr
 {
 	int type;
 	Attr *next;
-	char *name;
-	char *val;
+	int8_t *name;
+	int8_t *val;
 };
 
-typedef int AuthGetkey(char*);
+typedef int AuthGetkey(int8_t*);
 
 int	_attrfmt(Fmt*);
 Attr	*_copyattr(Attr*);
-Attr	*_delattr(Attr*, char*);
-Attr	*_findattr(Attr*, char*);
+Attr	*_delattr(Attr*, int8_t*);
+Attr	*_findattr(Attr*, int8_t*);
 void	_freeattr(Attr*);
-Attr	*_mkattr(int, char*, char*, Attr*);
-Attr	*_parseattr(char*);
-char	*_strfindattr(Attr*, char*);
+Attr	*_mkattr(int, int8_t*, int8_t*, Attr*);
+Attr	*_parseattr(int8_t*);
+int8_t	*_strfindattr(Attr*, int8_t*);
 #pragma varargck type "A" Attr*
 
-extern AuthInfo*	fauth_proxy(int, AuthRpc *rpc, AuthGetkey *getkey, char *params);
-extern AuthInfo*	auth_proxy(int fd, AuthGetkey *getkey, char *fmt, ...);
-extern int		auth_getkey(char*);
-extern int		(*amount_getkey)(char*);
+extern AuthInfo*	fauth_proxy(int, AuthRpc *rpc, AuthGetkey *getkey,
+				    int8_t *params);
+extern AuthInfo*	auth_proxy(int fd, AuthGetkey *getkey, int8_t *fmt,
+				   ...);
+extern int		auth_getkey(int8_t*);
+extern int		(*amount_getkey)(int8_t*);
 extern void		auth_freeAI(AuthInfo *ai);
-extern int		auth_chuid(AuthInfo *ai, char *ns);
-extern Chalstate	*auth_challenge(char*, ...);
+extern int		auth_chuid(AuthInfo *ai, int8_t *ns);
+extern Chalstate	*auth_challenge(int8_t*, ...);
 extern AuthInfo*	auth_response(Chalstate*);
-extern int		auth_respond(void*, uint, char*, uint, void*, uint, AuthGetkey *getkey, char*, ...);
+extern int		auth_respond(void*, uint, int8_t*, uint, void*,
+				       uint, AuthGetkey *getkey, int8_t*,
+				       ...);
 extern void		auth_freechal(Chalstate*);
-extern AuthInfo*	auth_userpasswd(char *user, char *passwd);
-extern UserPasswd*	auth_getuserpasswd(AuthGetkey *getkey, char*, ...);
+extern AuthInfo*	auth_userpasswd(int8_t *user, int8_t *passwd);
+extern UserPasswd*	auth_getuserpasswd(AuthGetkey *getkey, int8_t*,
+					     ...);
 extern AuthInfo*	auth_getinfo(AuthRpc *rpc);
 extern AuthRpc*		auth_allocrpc(int afd);
 extern Attr*		auth_attr(AuthRpc *rpc);
 extern void		auth_freerpc(AuthRpc *rpc);
-extern uint		auth_rpc(AuthRpc *rpc, char *verb, void *a, int n);
-extern int		auth_wep(char*, char*, ...);
+extern uint		auth_rpc(AuthRpc *rpc, int8_t *verb, void *a,
+				    int n);
+extern int		auth_wep(int8_t*, int8_t*, ...);
 #pragma varargck argpos auth_proxy 3
 #pragma varargck argpos auth_challenge 1
 #pragma varargck argpos auth_respond 8

+ 52 - 52
sys/include/authsrv.h

@@ -66,75 +66,75 @@ enum
 
 struct Ticketreq
 {
-	char	type;
-	char	authid[ANAMELEN];	/* server's encryption id */
-	char	authdom[DOMLEN];	/* server's authentication domain */
-	char	chal[CHALLEN];		/* challenge from server */
-	char	hostid[ANAMELEN];	/* host's encryption id */
-	char	uid[ANAMELEN];		/* uid of requesting user on host */
+	int8_t	type;
+	int8_t	authid[ANAMELEN];	/* server's encryption id */
+	int8_t	authdom[DOMLEN];	/* server's authentication domain */
+	int8_t	chal[CHALLEN];		/* challenge from server */
+	int8_t	hostid[ANAMELEN];	/* host's encryption id */
+	int8_t	uid[ANAMELEN];		/* uid of requesting user on host */
 };
 #define	TICKREQLEN	(3*ANAMELEN+CHALLEN+DOMLEN+1)
 
 struct Ticket
 {
-	char	num;			/* replay protection */
-	char	chal[CHALLEN];		/* server challenge */
-	char	cuid[ANAMELEN];		/* uid on client */
-	char	suid[ANAMELEN];		/* uid on server */
-	char	key[DESKEYLEN];		/* nonce DES key */
+	int8_t	num;			/* replay protection */
+	int8_t	chal[CHALLEN];		/* server challenge */
+	int8_t	cuid[ANAMELEN];		/* uid on client */
+	int8_t	suid[ANAMELEN];		/* uid on server */
+	int8_t	key[DESKEYLEN];		/* nonce DES key */
 };
 #define	TICKETLEN	(CHALLEN+2*ANAMELEN+DESKEYLEN+1)
 
 struct Authenticator
 {
-	char	num;			/* replay protection */
-	char	chal[CHALLEN];
-	ulong	id;			/* authenticator id, ++'d with each auth */
+	int8_t	num;			/* replay protection */
+	int8_t	chal[CHALLEN];
+	uint32_t	id;			/* authenticator id, ++'d with each auth */
 };
 #define	AUTHENTLEN	(CHALLEN+4+1)
 
 struct Passwordreq
 {
-	char	num;
-	char	old[ANAMELEN];
-	char	new[ANAMELEN];
-	char	changesecret;
-	char	secret[SECRETLEN];	/* new secret */
+	int8_t	num;
+	int8_t	old[ANAMELEN];
+	int8_t	new[ANAMELEN];
+	int8_t	changesecret;
+	int8_t	secret[SECRETLEN];	/* new secret */
 };
 #define	PASSREQLEN	(2*ANAMELEN+1+1+SECRETLEN)
 
 struct	OChapreply
 {
-	uchar	id;
-	char	uid[ANAMELEN];
-	char	resp[OMD5LEN];
+	uint8_t	id;
+	int8_t	uid[ANAMELEN];
+	int8_t	resp[OMD5LEN];
 };
 
 struct	OMSchapreply
 {
-	char	uid[ANAMELEN];
-	char	LMresp[24];		/* Lan Manager response */
-	char	NTresp[24];		/* NT response */
+	int8_t	uid[ANAMELEN];
+	int8_t	LMresp[24];		/* Lan Manager response */
+	int8_t	NTresp[24];		/* NT response */
 };
 
 /*
  *  convert to/from wire format
  */
-extern	int	convT2M(Ticket*, char*, char*);
-extern	void	convM2T(char*, Ticket*, char*);
-extern	void	convM2Tnoenc(char*, Ticket*);
-extern	int	convA2M(Authenticator*, char*, char*);
-extern	void	convM2A(char*, Authenticator*, char*);
-extern	int	convTR2M(Ticketreq*, char*);
-extern	void	convM2TR(char*, Ticketreq*);
-extern	int	convPR2M(Passwordreq*, char*, char*);
-extern	void	convM2PR(char*, Passwordreq*, char*);
+extern	int	convT2M(Ticket*, int8_t*, int8_t*);
+extern	void	convM2T(int8_t*, Ticket*, int8_t*);
+extern	void	convM2Tnoenc(int8_t*, Ticket*);
+extern	int	convA2M(Authenticator*, int8_t*, int8_t*);
+extern	void	convM2A(int8_t*, Authenticator*, int8_t*);
+extern	int	convTR2M(Ticketreq*, int8_t*);
+extern	void	convM2TR(int8_t*, Ticketreq*);
+extern	int	convPR2M(Passwordreq*, int8_t*, int8_t*);
+extern	void	convM2PR(int8_t*, Passwordreq*, int8_t*);
 
 /*
  *  convert ascii password to DES key
  */
-extern	int	opasstokey(char*, char*);
-extern	int	passtokey(char*, char*);
+extern	int	opasstokey(int8_t*, int8_t*);
+extern	int	passtokey(int8_t*, int8_t*);
 
 /*
  *  Nvram interface
@@ -149,34 +149,34 @@ enum {
 /* storage layout */
 struct Nvrsafe
 {
-	char	machkey[DESKEYLEN];	/* was file server's authid's des key */
-	uchar	machsum;
-	char	authkey[DESKEYLEN];	/* authid's des key from password */
-	uchar	authsum;
+	int8_t	machkey[DESKEYLEN];	/* was file server's authid's des key */
+	uint8_t	machsum;
+	int8_t	authkey[DESKEYLEN];	/* authid's des key from password */
+	uint8_t	authsum;
 	/*
 	 * file server config string of device holding full configuration;
 	 * secstore key on non-file-servers.
 	 */
-	char	config[CONFIGLEN];
-	uchar	configsum;
-	char	authid[ANAMELEN];	/* auth userid, e.g., bootes */
-	uchar	authidsum;
-	char	authdom[DOMLEN]; /* auth domain, e.g., cs.bell-labs.com */
-	uchar	authdomsum;
+	int8_t	config[CONFIGLEN];
+	uint8_t	configsum;
+	int8_t	authid[ANAMELEN];	/* auth userid, e.g., bootes */
+	uint8_t	authidsum;
+	int8_t	authdom[DOMLEN]; /* auth domain, e.g., cs.bell-labs.com */
+	uint8_t	authdomsum;
 };
 
-extern	uchar	nvcsum(void*, int);
+extern	uint8_t	nvcsum(void*, int);
 extern int	readnvram(Nvrsafe*, int);
 
 /*
  *  call up auth server
  */
-extern	int	authdial(char *netroot, char *authdom);
+extern	int	authdial(int8_t *netroot, int8_t *authdom);
 
 /*
  *  exchange messages with auth server
  */
-extern	int	_asgetticket(int, char*, char*);
-extern	int	_asrdresp(int, char*, int);
-extern	int	sslnegotiate(int, Ticket*, char**, char**);
-extern	int	srvsslnegotiate(int, Ticket*, char**, char**);
+extern	int	_asgetticket(int, int8_t*, int8_t*);
+extern	int	_asrdresp(int, int8_t*, int);
+extern	int	sslnegotiate(int, Ticket*, int8_t**, int8_t**);
+extern	int	srvsslnegotiate(int, Ticket*, int8_t**, int8_t**);

+ 3 - 2
sys/include/bin.h

@@ -14,6 +14,7 @@ typedef struct Bin	Bin;
 
 #pragma incomplete Bin
 
-void	*binalloc(Bin **, ulong size, int zero);
-void	*bingrow(Bin **, void *op, ulong osize, ulong size, int zero);
+void	*binalloc(Bin **, uint32_t size, int zero);
+void	*bingrow(Bin **, void *op, uint32_t osize, uint32_t size,
+		     int zero);
 void	binfree(Bin **);

+ 16 - 16
sys/include/bio.h

@@ -36,17 +36,17 @@ struct	Biobufhdr
 	int	state;		/* r/w/inactive */
 	int	fid;		/* open file */
 	int	flag;		/* magic if malloc'ed */
-	vlong	offset;		/* offset of buffer in file */
+	int64_t	offset;		/* offset of buffer in file */
 	int	bsize;		/* size of buffer */
-	uchar*	bbuf;		/* pointer to beginning of buffer */
-	uchar*	ebuf;		/* pointer to end of buffer */
-	uchar*	gbuf;		/* pointer to good data in buf */
+	uint8_t*	bbuf;		/* pointer to beginning of buffer */
+	uint8_t*	ebuf;		/* pointer to end of buffer */
+	uint8_t*	gbuf;		/* pointer to good data in buf */
 };
 
 struct	Biobuf
 {
 	Biobufhdr;
-	uchar	b[Bungetsize+Bsize];
+	uint8_t	b[Bungetsize+Bsize];
 };
 
 /* Dregs, redefined as functions for backwards compatibility */
@@ -61,23 +61,23 @@ int	Bfildes(Biobufhdr*);
 int	Bflush(Biobufhdr*);
 int	Bgetc(Biobufhdr*);
 int	Bgetd(Biobufhdr*, double*);
-long	Bgetrune(Biobufhdr*);
+int32_t	Bgetrune(Biobufhdr*);
 int	Binit(Biobuf*, int, int);
-int	Binits(Biobufhdr*, int, int, uchar*, int);
+int	Binits(Biobufhdr*, int, int, uint8_t*, int);
 int	Blinelen(Biobufhdr*);
-vlong	Boffset(Biobufhdr*);
-Biobuf*	Bopen(char*, int);
-int	Bprint(Biobufhdr*, char*, ...);
-int	Bvprint(Biobufhdr*, char*, va_list);
+int64_t	Boffset(Biobufhdr*);
+Biobuf*	Bopen(int8_t*, int);
+int	Bprint(Biobufhdr*, int8_t*, ...);
+int	Bvprint(Biobufhdr*, int8_t*, va_list);
 int	Bputc(Biobufhdr*, int);
-int	Bputrune(Biobufhdr*, long);
+int	Bputrune(Biobufhdr*, int32_t);
 void*	Brdline(Biobufhdr*, int);
-char*	Brdstr(Biobufhdr*, int, int);
-long	Bread(Biobufhdr*, void*, long);
-vlong	Bseek(Biobufhdr*, vlong, int);
+int8_t*	Brdstr(Biobufhdr*, int, int);
+int32_t	Bread(Biobufhdr*, void*, int32_t);
+int64_t	Bseek(Biobufhdr*, int64_t, int);
 int	Bterm(Biobufhdr*);
 int	Bungetc(Biobufhdr*);
 int	Bungetrune(Biobufhdr*);
-long	Bwrite(Biobufhdr*, void*, long);
+int32_t	Bwrite(Biobufhdr*, void*, int32_t);
 
 #pragma	varargck	argpos	Bprint	2

+ 85 - 85
sys/include/bootexec.h

@@ -9,15 +9,15 @@
 
 struct coffsect
 {
-	char	name[8];
-	ulong	phys;
-	ulong	virt;
-	ulong	size;
-	ulong	fptr;
-	ulong	fptrreloc;
-	ulong	fptrlineno;
-	ulong	nrelocnlineno;
-	ulong	flags;
+	int8_t	name[8];
+	uint32_t	phys;
+	uint32_t	virt;
+	uint32_t	size;
+	uint32_t	fptr;
+	uint32_t	fptrreloc;
+	uint32_t	fptrlineno;
+	uint32_t	nrelocnlineno;
+	uint32_t	flags;
 };
 
 /*
@@ -25,28 +25,28 @@ struct coffsect
  */
 struct mipsexec
 {
-	short	mmagic;		/* (0x160) mips magic number */
-	short	nscns;		/* (unused) number of sections */
-	long	timdat;		/* (unused) time & date stamp */
-	long	symptr;		/* offset to symbol table */
-	long	nsyms;		/* size of symbol table */
-	short	opthdr;		/* (0x38) sizeof(optional hdr) */
-	short	pcszs;		/* flags */
-	short	amagic;		/* see above */
-	short	vstamp;		/* version stamp */
-	long	tsize;		/* text size in bytes */
-	long	dsize;		/* initialized data */
-	long	bsize;		/* uninitialized data */
-	long	mentry;		/* entry pt.				*/
-	long	text_start;	/* base of text used for this file	*/
-	long	data_start;	/* base of data used for this file	*/
-	long	bss_start;	/* base of bss used for this file	*/
-	long	gprmask;	/* general purpose register mask	*/
+	int16_t	mmagic;		/* (0x160) mips magic number */
+	int16_t	nscns;		/* (unused) number of sections */
+	int32_t	timdat;		/* (unused) time & date stamp */
+	int32_t	symptr;		/* offset to symbol table */
+	int32_t	nsyms;		/* size of symbol table */
+	int16_t	opthdr;		/* (0x38) sizeof(optional hdr) */
+	int16_t	pcszs;		/* flags */
+	int16_t	amagic;		/* see above */
+	int16_t	vstamp;		/* version stamp */
+	int32_t	tsize;		/* text size in bytes */
+	int32_t	dsize;		/* initialized data */
+	int32_t	bsize;		/* uninitialized data */
+	int32_t	mentry;		/* entry pt.				*/
+	int32_t	text_start;	/* base of text used for this file	*/
+	int32_t	data_start;	/* base of data used for this file	*/
+	int32_t	bss_start;	/* base of bss used for this file	*/
+	int32_t	gprmask;	/* general purpose register mask	*/
 union{
-	long	cprmask[4];	/* co-processor register masks		*/
-	long	pcsize;
+	int32_t	cprmask[4];	/* co-processor register masks		*/
+	int32_t	pcsize;
 };
-	long	gp_value;	/* the gp value used for this object    */
+	int32_t	gp_value;	/* the gp value used for this object    */
 };
 
 struct mips4kexec
@@ -59,85 +59,85 @@ struct mips4kexec
 
 struct sparcexec
 {
-	short	sjunk;		/* dynamic bit and version number */
-	short	smagic;		/* 0407 */
-	ulong	stext;
-	ulong	sdata;
-	ulong	sbss;
-	ulong	ssyms;
-	ulong	sentry;
-	ulong	strsize;
-	ulong	sdrsize;
+	int16_t	sjunk;		/* dynamic bit and version number */
+	int16_t	smagic;		/* 0407 */
+	uint32_t	stext;
+	uint32_t	sdata;
+	uint32_t	sbss;
+	uint32_t	ssyms;
+	uint32_t	sentry;
+	uint32_t	strsize;
+	uint32_t	sdrsize;
 };
 
 struct nextexec
 {
 	struct	nexthdr{
-		ulong	nmagic;
-		ulong	ncputype;
-		ulong	ncpusubtype;
-		ulong	nfiletype;
-		ulong	ncmds;
-		ulong	nsizeofcmds;
-		ulong	nflags;
+		uint32_t	nmagic;
+		uint32_t	ncputype;
+		uint32_t	ncpusubtype;
+		uint32_t	nfiletype;
+		uint32_t	ncmds;
+		uint32_t	nsizeofcmds;
+		uint32_t	nflags;
 	};
 
 	struct nextcmd{
-		ulong	cmd;
-		ulong	cmdsize;
-		uchar	segname[16];
-		ulong	vmaddr;
-		ulong	vmsize;
-		ulong	fileoff;
-		ulong	filesize;
-		ulong	maxprot;
-		ulong	initprot;
-		ulong	nsects;
-		ulong	flags;
+		uint32_t	cmd;
+		uint32_t	cmdsize;
+		uint8_t	segname[16];
+		uint32_t	vmaddr;
+		uint32_t	vmsize;
+		uint32_t	fileoff;
+		uint32_t	filesize;
+		uint32_t	maxprot;
+		uint32_t	initprot;
+		uint32_t	nsects;
+		uint32_t	flags;
 	}textc;
 	struct nextsect{
-		char	sectname[16];
-		char	segname[16];
-		ulong	addr;
-		ulong	size;
-		ulong	offset;
-		ulong	align;
-		ulong	reloff;
-		ulong	nreloc;
-		ulong	flags;
-		ulong	reserved1;
-		ulong	reserved2;
+		int8_t	sectname[16];
+		int8_t	segname[16];
+		uint32_t	addr;
+		uint32_t	size;
+		uint32_t	offset;
+		uint32_t	align;
+		uint32_t	reloff;
+		uint32_t	nreloc;
+		uint32_t	flags;
+		uint32_t	reserved1;
+		uint32_t	reserved2;
 	}texts;
 	struct nextcmd	datac;
 	struct nextsect	datas;
 	struct nextsect	bsss;
 	struct nextsym{
-		ulong	cmd;
-		ulong	cmdsize;
-		ulong	symoff;
-		ulong	nsyms;
-		ulong	spoff;
-		ulong	pcoff;
+		uint32_t	cmd;
+		uint32_t	cmdsize;
+		uint32_t	symoff;
+		uint32_t	nsyms;
+		uint32_t	spoff;
+		uint32_t	pcoff;
 	}symc;
 };
 
 struct i386exec
 {
 	struct	i386coff{
-		ulong	isectmagic;
-		ulong	itime;
-		ulong	isyms;
-		ulong	insyms;
-		ulong	iflags;
+		uint32_t	isectmagic;
+		uint32_t	itime;
+		uint32_t	isyms;
+		uint32_t	insyms;
+		uint32_t	iflags;
 	};
 	struct	i386hdr{
-		ulong	imagic;
-		ulong	itextsize;
-		ulong	idatasize;
-		ulong	ibsssize;
-		ulong	ientry;
-		ulong	itextstart;
-		ulong	idatastart;
+		uint32_t	imagic;
+		uint32_t	itextsize;
+		uint32_t	idatasize;
+		uint32_t	ibsssize;
+		uint32_t	ientry;
+		uint32_t	itextstart;
+		uint32_t	idatastart;
 	};
 	struct coffsect	itexts;
 	struct coffsect idatas;

+ 5 - 5
sys/include/complete.h

@@ -13,13 +13,13 @@
 typedef struct Completion Completion;
 
 struct Completion{
-	uchar advance;		/* whether forward progress has been made */
-	uchar complete;	/* whether the completion now represents a file or directory */
-	char *string;		/* the string to advance, suffixed " " or "/" for file or directory */
+	uint8_t advance;		/* whether forward progress has been made */
+	uint8_t complete;	/* whether the completion now represents a file or directory */
+	int8_t *string;		/* the string to advance, suffixed " " or "/" for file or directory */
 	int nmatch;		/* number of files that matched */
 	int nfile;			/* number of files returned */
-	char **filename;	/* their names */
+	int8_t **filename;	/* their names */
 };
 
-Completion* complete(char *dir, char *s);
+Completion* complete(int8_t *dir, int8_t *s);
 void freecompletion(Completion*);

+ 50 - 50
sys/include/control.h

@@ -66,7 +66,7 @@ struct Controlset
 struct Control
 {
 	/* known to client */
-	char		*name;
+	int8_t		*name;
 	Rectangle	rect;
 	Rectangle	size;		/* minimum/maximum Dx, Dy (not a rect) */
 	Channel		*event;		/* chan(char*) to client */
@@ -77,9 +77,9 @@ struct Control
 	int		hidden;		/* hide hides, show unhides (and redraws) */
 	Controlset	*controlset;
 	Image		*screen;	/* where Control appears */
-	char		*format;	/* used to generate events */
-	char		wevent;		/* event channel rewired */
-	char		wdata;		/* data channel rewired */
+	int8_t		*format;	/* used to generate events */
+	int8_t		wevent;		/* event channel rewired */
+	int8_t		wdata;		/* data channel rewired */
 
 	/* method table */
 	void		(*ctl)(Control*, CParse*);
@@ -98,20 +98,20 @@ struct CCache
 		Image	*image;
 		Font	*font;
 	};
-	char		*name;
+	int8_t		*name;
 	int		index;		/* entry number in cache */
 	int		ref;		/* one for client, plus one for each use */
 };
 
 struct CParse
 {
-	char	str[256];
-	char	*sender;
-	char	*receiver;
+	int8_t	str[256];
+	int8_t	*sender;
+	int8_t	*receiver;
 	int	cmd;
-	char	*pargs[32];
+	int8_t	*pargs[32];
 	int	iargs[32];
-	char	**args;
+	int8_t	**args;
 	int	nargs;
 };
 
@@ -134,89 +134,89 @@ enum
 	_Ctlmaxsize = 10000,
 };
 
-extern char *ctltypenames[];
+extern int8_t *ctltypenames[];
 
 /* Functions used internally */
 void		_ctladdgroup(Control*, Control*);
 void		_ctlargcount(Control*, CParse*, int);
-Control*	_createctl(Controlset*, char*, uint, char*);
-Rune*		_ctlrunestr(char*);
-char*		_ctlstrrune(Rune*);
+Control*	_createctl(Controlset*, int8_t*, uint, int8_t*);
+Rune*		_ctlrunestr(int8_t*);
+int8_t*		_ctlstrrune(Rune*);
 void		_ctlputsnarf(Rune*);
 Rune*		_ctlgetsnarf(void);
-int		_ctlalignment(char*);
+int		_ctlalignment(int8_t*);
 Point		_ctlalignpoint(Rectangle, int, int, int);
 void		_ctlfocus(Control*, int);
 void		_activategroup(Control*);
 void		_deactivategroup(Control*);
-int		_ctllookup(char *s, char *tab[], int ntab);
-void		_ctlprint(Control *c, char *fmt, ...);
+int		_ctllookup(int8_t *s, int8_t *tab[], int ntab);
+void		_ctlprint(Control *c, int8_t *fmt, ...);
 
 /* images */
-CImage*		_getctlimage(char*);
-void		_setctlimage(Control*, CImage**, char*);
+CImage*		_getctlimage(int8_t*);
+void		_setctlimage(Control*, CImage**, int8_t*);
 void		_putctlimage(CImage*);
-CFont*		_getctlfont(char*);
+CFont*		_getctlfont(int8_t*);
 void		_putctlfont(CFont*);
 
 /* fonts */
-CImage*		_getctlfont(char*);
-void		_setctlfont(Control*, CImage**, char*);
+CImage*		_getctlfont(int8_t*);
+void		_setctlfont(Control*, CImage**, int8_t*);
 void		_putctlfont(CImage*);
-CFont*		_getctlfont(char*);
+CFont*		_getctlfont(int8_t*);
 void		_putctlfont(CFont*);
 
 /* Public functions */
 
 /* images */
-int		namectlimage(Image*, char*);
-int		freectlimage(char*);
+int		namectlimage(Image*, int8_t*);
+int		freectlimage(int8_t*);
 
 /* fonts */
-int		namectlfont(Font*, char*);
-int		freectlfont(char*);
+int		namectlfont(Font*, int8_t*);
+int		freectlfont(int8_t*);
 
 /* commands */
-int		ctlprint(Control*, char*, ...);
+int		ctlprint(Control*, int8_t*, ...);
 
 /* general */
 void		initcontrols(void);
 Controlset*	newcontrolset(Image*, Channel*, Channel*, Channel*);
 void		closecontrolset(Controlset*);
 void		closecontrol(Control*);
-void		ctlerror(char*, ...);
-Control*	controlcalled(char*);
+void		ctlerror(int8_t*, ...);
+Control*	controlcalled(int8_t*);
 
 /* publicly visible error-checking allocation routines */
 void*		ctlmalloc(uint);
 void*		ctlrealloc(void*, uint);
-char*		ctlstrdup(char*);
+int8_t*		ctlstrdup(int8_t*);
 
 /* creation */
-void		controlwire(Control*, char*, Channel*);
+void		controlwire(Control*, int8_t*, Channel*);
 void		activate(Control*);
 void		deactivate(Control*);
-Control*	createbox(Controlset*, char*);
-Control*	createbutton(Controlset*, char*);
-Control*	createcolumn(Controlset*, char*);
-Control*	createboxbox(Controlset*, char*);
-Control*	createentry(Controlset*, char*);
-Control*	createkeyboard(Controlset*, char*);
-Control*	createlabel(Controlset*, char*);
-Control*	createmenu(Controlset*, char*);
-Control*	createradiobutton(Controlset*, char*);
-Control*	createrow(Controlset*, char*);
-Control*	createscribble(Controlset*, char*);
-Control*	createslider(Controlset*, char*);
-Control*	createstack(Controlset*, char*);
-Control*	createtab(Controlset*, char*);
-Control*	createtext(Controlset*, char*);
-Control*	createtextbutton(Controlset*, char*);
-Control*	createtextbutton3(Controlset*, char*);
+Control*	createbox(Controlset*, int8_t*);
+Control*	createbutton(Controlset*, int8_t*);
+Control*	createcolumn(Controlset*, int8_t*);
+Control*	createboxbox(Controlset*, int8_t*);
+Control*	createentry(Controlset*, int8_t*);
+Control*	createkeyboard(Controlset*, int8_t*);
+Control*	createlabel(Controlset*, int8_t*);
+Control*	createmenu(Controlset*, int8_t*);
+Control*	createradiobutton(Controlset*, int8_t*);
+Control*	createrow(Controlset*, int8_t*);
+Control*	createscribble(Controlset*, int8_t*);
+Control*	createslider(Controlset*, int8_t*);
+Control*	createstack(Controlset*, int8_t*);
+Control*	createtab(Controlset*, int8_t*);
+Control*	createtext(Controlset*, int8_t*);
+Control*	createtextbutton(Controlset*, int8_t*);
+Control*	createtextbutton3(Controlset*, int8_t*);
 
 /* user-supplied */
 void		resizecontrolset(Controlset*);
 
 int		_ctlsnarffd;
-char		*alignnames[];
+int8_t		*alignnames[];
 int		ctldeletequits;

+ 2 - 2
sys/include/cursor.h

@@ -12,6 +12,6 @@
 struct	Cursor
 {
 	Point	offset;
-	uchar	clr[2*16];
-	uchar	set[2*16];
+	uint8_t	clr[2*16];
+	uint8_t	set[2*16];
 };

+ 14 - 14
sys/include/disk.h

@@ -26,10 +26,10 @@ enum {
 	Snone,
 };
 
-char*	scsierror(int, int);
-int		scsicmd(Scsi*, uchar*, int, void*, int, int);
-int		scsi(Scsi*, uchar*, int, void*, int, int);
-Scsi*		openscsi(char*);
+int8_t*	scsierror(int, int);
+int		scsicmd(Scsi*, uint8_t*, int, void*, int, int);
+int		scsi(Scsi*, uint8_t*, int, void*, int, int);
+Scsi*		openscsi(int8_t*);
 void		closescsi(Scsi*);
 int		scsiready(Scsi*);
 
@@ -38,18 +38,18 @@ extern int		scsiverbose;
 /* disk partition interface */
 typedef struct Disk Disk;
 struct Disk {
-	char *prefix;
-	char *part;
+	int8_t *prefix;
+	int8_t *part;
 	int fd;
 	int wfd;
 	int ctlfd;
 	int rdonly;
 	int type;
 
-	vlong secs;
-	vlong secsize;
-	vlong size;
-	vlong offset;	/* within larger disk, perhaps */
+	int64_t secs;
+	int64_t secsize;
+	int64_t size;
+	int64_t offset;	/* within larger disk, perhaps */
 	int width;	/* of disk size in bytes as decimal string */
 	int c;
 	int h;
@@ -57,7 +57,7 @@ struct Disk {
 	int chssrc;
 };
 
-Disk*	opendisk(char*, int, int);
+Disk*	opendisk(int8_t*, int, int);
 
 enum {
 	Tfile = 0,
@@ -135,6 +135,6 @@ enum {					/* SCSI command codes */
 };
 
 /* proto file parsing */
-typedef void Protoenum(char *new, char *old, Dir *d, void *a);
-typedef void Protowarn(char *msg, void *a);
-int rdproto(char*, char*, Protoenum*, Protowarn*, void*);
+typedef void Protoenum(int8_t *new, int8_t *old, Dir *d, void *a);
+typedef void Protowarn(int8_t *msg, void *a);
+int rdproto(int8_t*, int8_t*, Protoenum*, Protowarn*, void*);

+ 98 - 83
sys/include/draw.h

@@ -155,9 +155,9 @@ enum {
 	XBGR32	= CHAN4(CIgnore, 8, CBlue, 8, CGreen, 8, CRed, 8),
 };
 
-extern	char*	chantostr(char*, ulong);
-extern	ulong	strtochan(char*);
-extern	int		chantodepth(ulong);
+extern	int8_t*	chantostr(int8_t*, uint32_t);
+extern	uint32_t	strtochan(int8_t*);
+extern	int		chantodepth(uint32_t);
 
 struct	Point
 {
@@ -191,19 +191,19 @@ struct Display
 	int		ctlfd;
 	int		imageid;
 	int		local;
-	void		(*error)(Display*, char*);
-	char		*devdir;
-	char		*windir;
-	char		oldlabel[64];
-	ulong		dataqid;
+	void		(*error)(Display*, int8_t*);
+	int8_t		*devdir;
+	int8_t		*windir;
+	int8_t		oldlabel[64];
+	uint32_t		dataqid;
 	Image		*white;
 	Image		*black;
 	Image		*opaque;
 	Image		*transparent;
 	Image		*image;
-	uchar		*buf;
+	uint8_t		*buf;
 	int		bufsize;
-	uchar		*bufp;
+	uint8_t		*bufp;
 	Font		*defaultfont;
 	Subfont		*defaultsubfont;
 	Image		*windows;
@@ -218,7 +218,7 @@ struct Image
 	Rectangle	r;		/* rectangle in data area, local coords */
 	Rectangle 	clipr;		/* clipping region */
 	int		depth;		/* number of bits per pixel */
-	ulong		chan;
+	uint32_t		chan;
 	int		repl;		/* flag: data replicates to tile clipr */
 	Screen		*screen;	/* 0 if not a window */
 	Image		*next;	/* next in list of windows */
@@ -226,9 +226,9 @@ struct Image
 
 struct RGB
 {
-	ulong	red;
-	ulong	green;
-	ulong	blue;
+	uint32_t	red;
+	uint32_t	green;
+	uint32_t	blue;
 };
 
 /*
@@ -246,18 +246,18 @@ struct RGB
 struct	Fontchar
 {
 	int		x;		/* left edge of bits */
-	uchar		top;		/* first non-zero scan-line */
-	uchar		bottom;		/* last non-zero scan-line + 1 */
-	char		left;		/* offset of baseline */
-	uchar		width;		/* width of baseline */
+	uint8_t		top;		/* first non-zero scan-line */
+	uint8_t		bottom;		/* last non-zero scan-line + 1 */
+	int8_t		left;		/* offset of baseline */
+	uint8_t		width;		/* width of baseline */
 };
 
 struct	Subfont
 {
-	char		*name;
-	short		n;		/* number of chars in font */
-	uchar		height;		/* height of image */
-	char		ascent;		/* top of image to baseline */
+	int8_t		*name;
+	int16_t		n;		/* number of chars in font */
+	uint8_t		height;		/* height of image */
+	int8_t		ascent;		/* top of image to baseline */
 	Fontchar 	*info;		/* n+1 character descriptors */
 	Image		*bits;		/* of font */
 	int		ref;
@@ -285,35 +285,35 @@ struct Cachefont
 	Rune		min;	/* lowest rune value to be taken from subfont */
 	Rune		max;	/* highest rune value+1 to be taken from subfont */
 	int		offset;	/* position in subfont of character at min */
-	char		*name;			/* stored in font */
-	char		*subfontname;		/* to access subfont */
+	int8_t		*name;			/* stored in font */
+	int8_t		*subfontname;		/* to access subfont */
 };
 
 struct Cacheinfo
 {
-	ushort		x;		/* left edge of bits */
-	uchar		width;		/* width of baseline */
+	uint16_t		x;		/* left edge of bits */
+	uint8_t		width;		/* width of baseline */
 	schar		left;		/* offset of baseline */
 	Rune		value;	/* value of character at this slot in cache */
-	ushort		age;
+	uint16_t		age;
 };
 
 struct Cachesubf
 {
-	ulong		age;	/* for replacement */
+	uint32_t		age;	/* for replacement */
 	Cachefont	*cf;	/* font info that owns us */
 	Subfont		*f;	/* attached subfont */
 };
 
 struct Font
 {
-	char		*name;
+	int8_t		*name;
 	Display		*display;
-	short		height;	/* max height of image, interline spacing */
-	short		ascent;	/* top of image to baseline */
-	short		width;	/* widest so far; used in caching only */	
-	short		nsub;	/* number of subfonts */
-	ulong		age;	/* increasing counter; used for LRU */
+	int16_t		height;	/* max height of image, interline spacing */
+	int16_t		ascent;	/* top of image to baseline */
+	int16_t		width;	/* widest so far; used in caching only */	
+	int16_t		nsub;	/* number of subfonts */
+	uint32_t		age;	/* increasing counter; used for LRU */
 	int		maxdepth;	/* maximum depth of all loaded subfonts */
 	int		ncache;	/* size of cache */
 	int		nsubf;	/* size of subfont list */
@@ -334,49 +334,53 @@ extern int		mousescrollsize(int);
 /*
  * Image management
  */
-extern Image*	_allocimage(Image*, Display*, Rectangle, ulong, int, ulong, int, int);
-extern Image*	allocimage(Display*, Rectangle, ulong, int, ulong);
-extern uchar*	bufimage(Display*, int);
+extern Image*	_allocimage(Image*, Display*, Rectangle, uint32_t, int,
+				 uint32_t, int, int);
+extern Image*	allocimage(Display*, Rectangle, uint32_t, int,
+				uint32_t);
+extern uint8_t*	bufimage(Display*, int);
 extern int	bytesperline(Rectangle, int);
 extern void	closedisplay(Display*);
-extern void	drawerror(Display*, char*);
+extern void	drawerror(Display*, int8_t*);
 extern int	flushimage(Display*, int);
 extern int	freeimage(Image*);
 extern int	_freeimage1(Image*);
-extern int	geninitdraw(char*, void(*)(Display*, char*), char*, char*, char*, int);
-extern int	initdraw(void(*)(Display*, char*), char*, char*);
-extern int	newwindow(char*);
-extern Display*	initdisplay(char*, char*, void(*)(Display*, char*));
-extern int	loadimage(Image*, Rectangle, uchar*, int);
-extern int	cloadimage(Image*, Rectangle, uchar*, int);
+extern int	geninitdraw(int8_t*, void(*)(Display*, int8_t*), int8_t*,
+			      int8_t*, int8_t*, int);
+extern int	initdraw(void(*)(Display*, int8_t*), int8_t*, int8_t*);
+extern int	newwindow(int8_t*);
+extern Display*	initdisplay(int8_t*, int8_t*,
+				   void(*)(Display*, int8_t*));
+extern int	loadimage(Image*, Rectangle, uint8_t*, int);
+extern int	cloadimage(Image*, Rectangle, uint8_t*, int);
 extern int	getwindow(Display*, int);
-extern int	gengetwindow(Display*, char*, Image**, Screen**, int);
+extern int	gengetwindow(Display*, int8_t*, Image**, Screen**, int);
 extern Image* readimage(Display*, int, int);
 extern Image* creadimage(Display*, int, int);
-extern int	unloadimage(Image*, Rectangle, uchar*, int);
+extern int	unloadimage(Image*, Rectangle, uint8_t*, int);
 extern int	wordsperline(Rectangle, int);
 extern int	writeimage(int, Image*, int);
-extern Image*	namedimage(Display*, char*);
-extern int	nameimage(Image*, char*, int);
-extern Image* allocimagemix(Display*, ulong, ulong);
+extern Image*	namedimage(Display*, int8_t*);
+extern int	nameimage(Image*, int8_t*, int);
+extern Image* allocimagemix(Display*, uint32_t, uint32_t);
 
 /*
  * Colors
  */
 extern	void	readcolmap(Display*, RGB*);
 extern	void	writecolmap(Display*, RGB*);
-extern	ulong	setalpha(ulong, uchar);
+extern	uint32_t	setalpha(uint32_t, uint8_t);
 
 /*
  * Windows
  */
 extern Screen*	allocscreen(Image*, Image*, int);
-extern Image*	_allocwindow(Image*, Screen*, Rectangle, int, ulong);
-extern Image*	allocwindow(Screen*, Rectangle, int, ulong);
+extern Image*	_allocwindow(Image*, Screen*, Rectangle, int, uint32_t);
+extern Image*	allocwindow(Screen*, Rectangle, int, uint32_t);
 extern void	bottomnwindows(Image**, int);
 extern void	bottomwindow(Image*);
 extern int	freescreen(Screen*);
-extern Screen*	publicscreen(Display*, int, ulong);
+extern Screen*	publicscreen(Display*, int, uint32_t);
 extern void	topnwindows(Image**, int);
 extern void	topwindow(Image*);
 extern int	originwindow(Image*, Point, Point);
@@ -424,24 +428,32 @@ extern void	poly(Image*, Point*, int, int, int, int, Image*, Point);
 extern void	polyop(Image*, Point*, int, int, int, int, Image*, Point, Drawop);
 extern void	fillpoly(Image*, Point*, int, int, Image*, Point);
 extern void	fillpolyop(Image*, Point*, int, int, Image*, Point, Drawop);
-extern Point	string(Image*, Point, Image*, Point, Font*, char*);
-extern Point	stringop(Image*, Point, Image*, Point, Font*, char*, Drawop);
-extern Point	stringn(Image*, Point, Image*, Point, Font*, char*, int);
-extern Point	stringnop(Image*, Point, Image*, Point, Font*, char*, int, Drawop);
+extern Point	string(Image*, Point, Image*, Point, Font*, int8_t*);
+extern Point	stringop(Image*, Point, Image*, Point, Font*, int8_t*,
+			     Drawop);
+extern Point	stringn(Image*, Point, Image*, Point, Font*, int8_t*,
+			    int);
+extern Point	stringnop(Image*, Point, Image*, Point, Font*, int8_t*,
+			      int, Drawop);
 extern Point	runestring(Image*, Point, Image*, Point, Font*, Rune*);
 extern Point	runestringop(Image*, Point, Image*, Point, Font*, Rune*, Drawop);
 extern Point	runestringn(Image*, Point, Image*, Point, Font*, Rune*, int);
 extern Point	runestringnop(Image*, Point, Image*, Point, Font*, Rune*, int, Drawop);
-extern Point	stringbg(Image*, Point, Image*, Point, Font*, char*, Image*, Point);
-extern Point	stringbgop(Image*, Point, Image*, Point, Font*, char*, Image*, Point, Drawop);
-extern Point	stringnbg(Image*, Point, Image*, Point, Font*, char*, int, Image*, Point);
-extern Point	stringnbgop(Image*, Point, Image*, Point, Font*, char*, int, Image*, Point, Drawop);
+extern Point	stringbg(Image*, Point, Image*, Point, Font*, int8_t*,
+			     Image*, Point);
+extern Point	stringbgop(Image*, Point, Image*, Point, Font*, int8_t*,
+			       Image*, Point, Drawop);
+extern Point	stringnbg(Image*, Point, Image*, Point, Font*, int8_t*,
+			      int, Image*, Point);
+extern Point	stringnbgop(Image*, Point, Image*, Point, Font*, int8_t*,
+				int, Image*, Point, Drawop);
 extern Point	runestringbg(Image*, Point, Image*, Point, Font*, Rune*, Image*, Point);
 extern Point	runestringbgop(Image*, Point, Image*, Point, Font*, Rune*, Image*, Point, Drawop);
 extern Point	runestringnbg(Image*, Point, Image*, Point, Font*, Rune*, int, Image*, Point);
 extern Point	runestringnbgop(Image*, Point, Image*, Point, Font*, Rune*, int, Image*, Point, Drawop);
-extern Point	_string(Image*, Point, Image*, Point, Font*, char*, Rune*, int, Rectangle, Image*, Point, Drawop);
-extern Point	stringsubfont(Image*, Point, Image*, Subfont*, char*);
+extern Point	_string(Image*, Point, Image*, Point, Font*, int8_t*,
+			    Rune*, int, Rectangle, Image*, Point, Drawop);
+extern Point	stringsubfont(Image*, Point, Image*, Subfont*, int8_t*);
 extern int		bezier(Image*, Point, Point, Point, Point, int, int, int, Image*, Point);
 extern int		bezierop(Image*, Point, Point, Point, Point, int, int, int, Image*, Point, Drawop);
 extern int		bezspline(Image*, Point*, int, int, int, int, Image*, Point);
@@ -465,40 +477,43 @@ extern void	borderop(Image*, Rectangle, int, Image*, Point, Drawop);
 /*
  * Font management
  */
-extern Font*	openfont(Display*, char*);
-extern Font*	buildfont(Display*, char*, char*);
+extern Font*	openfont(Display*, int8_t*);
+extern Font*	buildfont(Display*, int8_t*, int8_t*);
 extern void	freefont(Font*);
 extern Font*	mkfont(Subfont*, Rune);
-extern int	cachechars(Font*, char**, Rune**, ushort*, int, int*, char**);
+extern int	cachechars(Font*, int8_t**, Rune**, uint16_t*, int,
+			     int*,
+			     int8_t**);
 extern void	agefont(Font*);
-extern Subfont*	allocsubfont(char*, int, int, int, Fontchar*, Image*);
-extern Subfont*	lookupsubfont(Display*, char*);
-extern void	installsubfont(char*, Subfont*);
+extern Subfont*	allocsubfont(int8_t*, int, int, int, Fontchar*,
+				    Image*);
+extern Subfont*	lookupsubfont(Display*, int8_t*);
+extern void	installsubfont(int8_t*, Subfont*);
 extern void	uninstallsubfont(Subfont*);
 extern void	freesubfont(Subfont*);
-extern Subfont*	readsubfont(Display*, char*, int, int);
-extern Subfont*	readsubfonti(Display*, char*, int, Image*, int);
+extern Subfont*	readsubfont(Display*, int8_t*, int, int);
+extern Subfont*	readsubfonti(Display*, int8_t*, int, Image*, int);
 extern int	writesubfont(int, Subfont*);
-extern void	_unpackinfo(Fontchar*, uchar*, int);
-extern Point	stringsize(Font*, char*);
-extern int	stringwidth(Font*, char*);
-extern int	stringnwidth(Font*, char*, int);
+extern void	_unpackinfo(Fontchar*, uint8_t*, int);
+extern Point	stringsize(Font*, int8_t*);
+extern int	stringwidth(Font*, int8_t*);
+extern int	stringnwidth(Font*, int8_t*, int);
 extern Point	runestringsize(Font*, Rune*);
 extern int	runestringwidth(Font*, Rune*);
 extern int	runestringnwidth(Font*, Rune*, int);
-extern Point	strsubfontwidth(Subfont*, char*);
-extern int	loadchar(Font*, Rune, Cacheinfo*, int, int, char**);
-extern char*	subfontname(char*, char*, int);
-extern Subfont*	_getsubfont(Display*, char*);
+extern Point	strsubfontwidth(Subfont*, int8_t*);
+extern int	loadchar(Font*, Rune, Cacheinfo*, int, int, int8_t**);
+extern int8_t*	subfontname(int8_t*, int8_t*, int);
+extern Subfont*	_getsubfont(Display*, int8_t*);
 extern Subfont*	getdefont(Display*);
 extern void		lockdisplay(Display*);
 extern void	unlockdisplay(Display*);
-extern int		drawlsetrefresh(ulong, int, void*, void*);
+extern int		drawlsetrefresh(uint32_t, int, void*, void*);
 
 /*
  * Predefined 
  */
-extern	uchar	defontdata[];
+extern	uint8_t	defontdata[];
 extern	int		sizeofdefont;
 extern	Point		ZP;
 extern	Rectangle	ZR;
@@ -527,10 +542,10 @@ extern	void	_setdrawop(Display*, Drawop);
 #define	NMEM	1024		/* window size */
 #define	NDUMP	128		/* maximum length of dump */
 #define	NCBLOCK	6000		/* size of compressed blocks */
-extern	void	_twiddlecompressed(uchar*, int);
+extern	void	_twiddlecompressed(uint8_t*, int);
 extern	int	_compblocksize(Rectangle, int);
 
 /* XXX backwards helps; should go */
 // extern	int		log2[];	/* was used by libmemlayer/line.c */
-extern	ulong	drawld2chan[];
+extern	uint32_t	drawld2chan[];
 extern	void		drawsetdebug(int);

+ 14 - 13
sys/include/event.h

@@ -30,7 +30,7 @@ struct	Mouse
 {
 	int	buttons;	/* bit array: LMR=124 */
 	Point	xy;
-	ulong	msec;
+	uint32_t	msec;
 };
 
 struct	Event
@@ -39,37 +39,38 @@ struct	Event
 	Mouse	mouse;
 	int	n;		/* number of characters in message */
 	void	*v;		/* data unpacked by general event-handling function */
-	uchar	data[EMAXMSG];	/* message from an arbitrary file descriptor */
+	uint8_t	data[EMAXMSG];	/* message from an arbitrary file descriptor */
 };
 
 struct Menu
 {
-	char	**item;
-	char	*(*gen)(int);
+	int8_t	**item;
+	int8_t	*(*gen)(int);
 	int	lasthit;
 };
 
 /*
  * Events
  */
-extern void	 einit(ulong);
-extern ulong	 estart(ulong, int, int);
-extern ulong	 estartfn(ulong, int, int, int (*fn)(int, Event*, uchar*, int));
-extern ulong	 etimer(ulong, int);
-extern ulong	 event(Event*);
-extern ulong	 eread(ulong, Event*);
+extern void	 einit(uint32_t);
+extern uint32_t	 estart(uint32_t, int, int);
+extern uint32_t	 estartfn(uint32_t, int, int,
+				 int (*fn)(int, Event*, uint8_t*, int));
+extern uint32_t	 etimer(uint32_t, int);
+extern uint32_t	 event(Event*);
+extern uint32_t	 eread(uint32_t, Event*);
 extern Mouse	 emouse(void);
 extern int	 ekbd(void);
-extern int	 ecanread(ulong);
+extern int	 ecanread(uint32_t);
 extern int	 ecanmouse(void);
 extern int	 ecankbd(void);
 extern void	 eresized(int);	/* supplied by user */
 extern int	 emenuhit(int, Mouse*, Menu*);
-extern int	eatomouse(Mouse*, char*, int);
+extern int	eatomouse(Mouse*, int8_t*, int);
 extern Rectangle	getrect(int, Mouse*);
 extern void	 esetcursor(Cursor*);
 extern void	 emoveto(Point);
 extern Rectangle	egetrect(int, Mouse*);
 extern void		edrawgetrect(Rectangle, int);
 extern int		ereadmouse(Mouse*);
-extern int		eatomouse(Mouse*, char*, int);
+extern int		eatomouse(Mouse*, int8_t*, int);

+ 32 - 32
sys/include/fcall.h

@@ -17,54 +17,54 @@
 typedef
 struct	Fcall
 {
-	uchar	type;
-	u32int	fid;
-	ushort	tag;
+	uint8_t	type;
+	uint32_t	fid;
+	uint16_t	tag;
 	union {
 		struct {
-			u32int	msize;		/* Tversion, Rversion */
-			char	*version;	/* Tversion, Rversion */
+			uint32_t	msize;		/* Tversion, Rversion */
+			int8_t	*version;	/* Tversion, Rversion */
 		};
 		struct {
-			ushort	oldtag;		/* Tflush */
+			uint16_t	oldtag;		/* Tflush */
 		};
 		struct {
-			char	*ename;		/* Rerror */
+			int8_t	*ename;		/* Rerror */
 		};
 		struct {
 			Qid	qid;		/* Rattach, Ropen, Rcreate */
-			u32int	iounit;		/* Ropen, Rcreate */
+			uint32_t	iounit;		/* Ropen, Rcreate */
 		};
 		struct {
 			Qid	aqid;		/* Rauth */
 		};
 		struct {
-			u32int	afid;		/* Tauth, Tattach */
-			char	*uname;		/* Tauth, Tattach */
-			char	*aname;		/* Tauth, Tattach */
+			uint32_t	afid;		/* Tauth, Tattach */
+			int8_t	*uname;		/* Tauth, Tattach */
+			int8_t	*aname;		/* Tauth, Tattach */
 		};
 		struct {
-			u32int	perm;		/* Tcreate */ 
-			char	*name;		/* Tcreate */
-			uchar	mode;		/* Tcreate, Topen */
+			uint32_t	perm;		/* Tcreate */ 
+			int8_t	*name;		/* Tcreate */
+			uint8_t	mode;		/* Tcreate, Topen */
 		};
 		struct {
-			u32int	newfid;		/* Twalk */
-			ushort	nwname;		/* Twalk */
-			char	*wname[MAXWELEM];	/* Twalk */
+			uint32_t	newfid;		/* Twalk */
+			uint16_t	nwname;		/* Twalk */
+			int8_t	*wname[MAXWELEM];	/* Twalk */
 		};
 		struct {
-			ushort	nwqid;		/* Rwalk */
+			uint16_t	nwqid;		/* Rwalk */
 			Qid	wqid[MAXWELEM];		/* Rwalk */
 		};
 		struct {
-			vlong	offset;		/* Tread, Twrite */
-			u32int	count;		/* Tread, Twrite, Rread */
-			char	*data;		/* Twrite, Rread */
+			int64_t	offset;		/* Tread, Twrite */
+			uint32_t	count;		/* Tread, Twrite, Rread */
+			int8_t	*data;		/* Twrite, Rread */
 		};
 		struct {
-			ushort	nstat;		/* Twstat, Rstat */
-			uchar	*stat;		/* Twstat, Rstat */
+			uint16_t	nstat;		/* Twstat, Rstat */
+			uint8_t	*stat;		/* Twstat, Rstat */
 		};
 	};
 } Fcall;
@@ -73,8 +73,8 @@ struct	Fcall
 #define	GBIT8(p)	((p)[0])
 #define	GBIT16(p)	((p)[0]|((p)[1]<<8))
 #define	GBIT32(p)	((p)[0]|((p)[1]<<8)|((p)[2]<<16)|((p)[3]<<24))
-#define	GBIT64(p)	((u32int)((p)[0]|((p)[1]<<8)|((p)[2]<<16)|((p)[3]<<24)) |\
-				((vlong)((p)[4]|((p)[5]<<8)|((p)[6]<<16)|((p)[7]<<24)) << 32))
+#define	GBIT64(p)	((uint32_t)((p)[0]|((p)[1]<<8)|((p)[2]<<16)|((p)[3]<<24)) |\
+				((int64_t)((p)[4]|((p)[5]<<8)|((p)[6]<<16)|((p)[7]<<24)) << 32))
 
 #define	PBIT8(p,v)	(p)[0]=(v)
 #define	PBIT16(p,v)	(p)[0]=(v);(p)[1]=(v)>>8
@@ -92,8 +92,8 @@ struct	Fcall
 /* The count, however, excludes itself; total size is BIT16SZ+count */
 #define STATFIXLEN	(BIT16SZ+QIDSZ+5*BIT16SZ+4*BIT32SZ+1*BIT64SZ)	/* amount of fixed length data in a stat buffer */
 
-#define	NOTAG		(ushort)~0U	/* Dummy tag */
-#define	NOFID		(u32int)~0U	/* Dummy fid */
+#define	NOTAG		(uint16_t)~0U	/* Dummy tag */
+#define	NOFID		(uint32_t)~0U	/* Dummy fid */
 #define	IOHDRSZ		24	/* ample room for Twrite/Rread header (iounit) */
 
 enum
@@ -129,13 +129,13 @@ enum
 	Tmax,
 };
 
-uint	convM2S(uchar*, uint, Fcall*);
-uint	convS2M(Fcall*, uchar*, uint);
+uint	convM2S(uint8_t*, uint, Fcall*);
+uint	convS2M(Fcall*, uint8_t*, uint);
 uint	sizeS2M(Fcall*);
 
-int	statcheck(uchar *abuf, uint nbuf);
-uint	convM2D(uchar*, uint, Dir*, char*);
-uint	convD2M(Dir*, uchar*, uint);
+int	statcheck(uint8_t *abuf, uint nbuf);
+uint	convM2D(uint8_t*, uint, Dir*, int8_t*);
+uint	convD2M(Dir*, uint8_t*, uint);
 uint	sizeD2M(Dir*);
 
 int	fcallfmt(Fmt*);

+ 11 - 8
sys/include/flate.h

@@ -31,18 +31,21 @@ int	deflate(void *wr, int (*w)(void*, void*, int), void *rr, int (*r)(void*, voi
 int	inflateinit(void);
 int	inflate(void *wr, int (*w)(void*, void*, int), void *getr, int (*get)(void*));
 
-int	inflateblock(uchar *dst, int dsize, uchar *src, int ssize);
-int	deflateblock(uchar *dst, int dsize, uchar *src, int ssize, int level, int debug);
+int	inflateblock(uint8_t *dst, int dsize, uint8_t *src, int ssize);
+int	deflateblock(uint8_t *dst, int dsize, uint8_t *src, int ssize,
+			int level, int debug);
 
 int	deflatezlib(void *wr, int (*w)(void*, void*, int), void *rr, int (*r)(void*, void*, int), int level, int debug);
 int	inflatezlib(void *wr, int (*w)(void*, void*, int), void *getr, int (*get)(void*));
 
-int	inflatezlibblock(uchar *dst, int dsize, uchar *src, int ssize);
-int	deflatezlibblock(uchar *dst, int dsize, uchar *src, int ssize, int level, int debug);
+int	inflatezlibblock(uint8_t *dst, int dsize, uint8_t *src,
+			    int ssize);
+int	deflatezlibblock(uint8_t *dst, int dsize, uint8_t *src,
+			    int ssize, int level, int debug);
 
-char	*flateerr(int err);
+int8_t	*flateerr(int err);
 
-ulong	*mkcrctab(ulong);
-ulong	blockcrc(ulong *tab, ulong crc, void *buf, int n);
+uint32_t	*mkcrctab(uint32_t);
+uint32_t	blockcrc(uint32_t *tab, uint32_t crc, void *buf, int n);
 
-ulong	adler32(ulong adler, void *buf, int n);
+uint32_t	adler32(uint32_t adler, void *buf, int n);

+ 24 - 24
sys/include/frame.h

@@ -26,13 +26,13 @@ enum{
 
 struct Frbox
 {
-	long		wid;		/* in pixels */
-	long		nrune;		/* <0 ==> negate and treat as break char */
+	int32_t		wid;		/* in pixels */
+	int32_t		nrune;		/* <0 ==> negate and treat as break char */
 	union{
-		uchar	*ptr;
+		uint8_t	*ptr;
 		struct{
-			short	bc;	/* break char */
-			short	minwid;
+			int16_t	bc;	/* break char */
+			int16_t	minwid;
 		};
 	};
 };
@@ -47,32 +47,32 @@ struct Frame
 	Rectangle	entire;		/* of full frame */
 	void			(*scroll)(Frame*, int);	/* scroll function provided by application */
 	Frbox		*box;
-	ulong		p0, p1;		/* selection */
-	ushort		nbox, nalloc;
-	ushort		maxtab;		/* max size of tab, in pixels */
-	ushort		nchars;		/* # runes in frame */
-	ushort		nlines;		/* # lines with text */
-	ushort		maxlines;	/* total # lines in frame */
-	ushort		lastlinefull;	/* last line fills frame */
-	ushort		modified;	/* changed since frselect() */
+	uint32_t		p0, p1;		/* selection */
+	uint16_t		nbox, nalloc;
+	uint16_t		maxtab;		/* max size of tab, in pixels */
+	uint16_t		nchars;		/* # runes in frame */
+	uint16_t		nlines;		/* # lines with text */
+	uint16_t		maxlines;	/* total # lines in frame */
+	uint16_t		lastlinefull;	/* last line fills frame */
+	uint16_t		modified;	/* changed since frselect() */
 	Image		*tick;	/* typing tick */
 	Image		*tickback;	/* saved image under tick */
 	int			ticked;	/* flag: is tick onscreen? */
 };
 
-ulong	frcharofpt(Frame*, Point);
-Point	frptofchar(Frame*, ulong);
-int	frdelete(Frame*, ulong, ulong);
-void	frinsert(Frame*, Rune*, Rune*, ulong);
+uint32_t	frcharofpt(Frame*, Point);
+Point	frptofchar(Frame*, uint32_t);
+int	frdelete(Frame*, uint32_t, uint32_t);
+void	frinsert(Frame*, Rune*, Rune*, uint32_t);
 void	frselect(Frame*, Mousectl*);
 void	frselectpaint(Frame*, Point, Point, Image*);
-void	frdrawsel(Frame*, Point, ulong, ulong, int);
-Point frdrawsel0(Frame*, Point, ulong, ulong, Image*, Image*);
+void	frdrawsel(Frame*, Point, uint32_t, uint32_t, int);
+Point frdrawsel0(Frame*, Point, uint32_t, uint32_t, Image*, Image*);
 void	frinit(Frame*, Rectangle, Font*, Image*, Image**);
 void	frsetrects(Frame*, Rectangle, Image*);
 void	frclear(Frame*, int);
 
-uchar	*_frallocstr(Frame*, unsigned);
+uint8_t	*_frallocstr(Frame*, unsigned);
 void	_frinsure(Frame*, int, unsigned);
 Point	_frdraw(Frame*, Point);
 void	_frgrowbox(Frame*, int);
@@ -80,7 +80,7 @@ void	_frfreebox(Frame*, int, int);
 void	_frmergebox(Frame*, int);
 void	_frdelbox(Frame*, int, int);
 void	_frsplitbox(Frame*, int, int);
-int	_frfindbox(Frame*, int, ulong, ulong);
+int	_frfindbox(Frame*, int, uint32_t, uint32_t);
 void	_frclosebox(Frame*, int, int);
 int	_frcanfit(Frame*, Point, Frbox*);
 void	_frcklinewrap(Frame*, Point*, Frbox*);
@@ -91,12 +91,12 @@ int	_frnewwid0(Frame*, Point, Frbox*);
 void	_frclean(Frame*, Point, int, int);
 void	_frdrawtext(Frame*, Point, Image*, Image*);
 void	_fraddbox(Frame*, int, int);
-Point	_frptofcharptb(Frame*, ulong, Point, int);
-Point	_frptofcharnb(Frame*, ulong, int);
+Point	_frptofcharptb(Frame*, uint32_t, Point, int);
+Point	_frptofcharnb(Frame*, uint32_t, int);
 int	_frstrlen(Frame*, int);
 void	frtick(Frame*, Point, int);
 void	frinittick(Frame*);
 void	frredraw(Frame*);
 
 #define	NRUNE(b)	((b)->nrune<0? 1 : (b)->nrune)
-#define	NBYTE(b)	strlen((char*)(b)->ptr)
+#define	NBYTE(b)	strlen((int8_t*)(b)->ptr)

+ 23 - 22
sys/include/html.h

@@ -11,8 +11,8 @@
 #pragma src "/sys/src/libhtml"
 
 /* UTILS */
-extern uchar*	fromStr(Rune* buf, int n, int chset);
-extern Rune*	toStr(uchar* buf, int n, int chset);
+extern uint8_t*	fromStr(Rune* buf, int n, int chset);
+extern Rune*	toStr(uint8_t* buf, int n, int chset);
 
 /* Common LEX and BUILD enums */
 
@@ -134,8 +134,8 @@ enum {
 
 struct Align
 {
-	uchar	halign;		/* one of ALnone, ALleft, etc. */
-	uchar	valign;		/* one of ALnone, ALtop, etc. */
+	uint8_t	halign;		/* one of ALnone, ALleft, etc. */
+	uint8_t	valign;		/* one of ALnone, ALtop, etc. */
 };
 
 /*
@@ -206,15 +206,15 @@ struct Itext
 	Rune*	s;		/* the characters */
 	int	fnt;		/* style*NumSize+size (see font stuff, below) */
 	int	fg;		/* Pixel (color) for text */
-	uchar	voff; /* Voffbias+vertical offset from baseline, in pixels (+ve == down) */
-	uchar	ul;		/* ULnone, ULunder, or ULmid */
+	uint8_t	voff; /* Voffbias+vertical offset from baseline, in pixels (+ve == down) */
+	uint8_t	ul;		/* ULnone, ULunder, or ULmid */
 };
 
 struct Irule
 {
 	Item;			/* (with tag ==Iruletag) */
-	uchar	align;		/* alignment spec */
-	uchar	noshade;	/* if true, don't shade */
+	uint8_t	align;		/* alignment spec */
+	uint8_t	noshade;	/* if true, don't shade */
 	int	size;		/* size attr (rule height) */
 	int	color;		/* color attr */
 	Dimen	wspec;		/* width spec */
@@ -230,10 +230,10 @@ struct Iimage
 	Rune*	altrep;		/* alternate representation, in absence of image */
 	Map*	map;		/* if non-nil, client side map */
 	int	ctlid;		/* if animated */
-	uchar	align;		/* vertical alignment */
-	uchar	hspace;		/* in pixels; buffer space on each side */
-	uchar	vspace;		/* in pixels; buffer space on top and bottom */
-	uchar	border;		/* in pixels: border width to draw around image */
+	uint8_t	align;		/* vertical alignment */
+	uint8_t	hspace;		/* in pixels; buffer space on each side */
+	uint8_t	vspace;		/* in pixels; buffer space on top and bottom */
+	uint8_t	border;		/* in pixels: border width to draw around image */
 	Iimage*	nextimage;	/* next in list of document's images */
 	void*	aux;
 };
@@ -260,8 +260,8 @@ struct Ifloat
 	Item*	item;		/* table or image item that floats */
 	int	x;		/* x coord of top (from right, if ALright) */
 	int	y;		/* y coord of top */
-	uchar	side;		/* margin it floats to: ALleft or ALright */
-	uchar	infloats;	/* true if this has been added to a lay.floats */
+	uint8_t	side;		/* margin it floats to: ALleft or ALright */
+	uint8_t	infloats;	/* true if this has been added to a lay.floats */
 	Ifloat*	nextfloat;	/* in list of floats */
 };
 
@@ -355,7 +355,7 @@ struct Formfield
 	int	maxlength;	/* maxlength attr */
 	int	rows;		/* rows attr */
 	int	cols;		/* cols attr */
-	uchar	flags;		/* FFchecked, etc. */
+	uint8_t	flags;		/* FFchecked, etc. */
 	Option*	options;	/* for Fselect fields */
 	Item*	image;		/* image item, for Fimage fields */
 	int	ctlid;		/* identifies control for this field in layout */
@@ -416,14 +416,14 @@ struct Table
 	int	cellpadding;	/* cellpadding attr */
 	Background background;	/* table background */
 	Item*	caption;	/* linked list of Items, giving caption */
-	uchar	caption_place;	/* ALtop or ALbottom */
+	uint8_t	caption_place;	/* ALtop or ALbottom */
 	Lay*	caption_lay;	/* layout of caption */
 	int	totw;		/* total width */
 	int	toth;		/* total height */
 	int	caph;		/* caption height */
 	int	availw;		/* used for previous 3 sizes */
 	Token*	tabletok;	/* token that started the table */
-	uchar	flags;		/* Lchanged, perhaps */
+	uint8_t	flags;		/* Lchanged, perhaps */
 };
 
 
@@ -444,7 +444,7 @@ struct Tablerow
 	Align	align;
 	Background background;
 	Point	pos;
-	uchar	flags;		/* 0 or TFparsing */
+	uint8_t	flags;		/* 0 or TFparsing */
 };
 
 /*
@@ -464,7 +464,7 @@ struct Tablecell
 	int	rowspan;	/* number of rows spanned by this cell */
 	int	colspan;	/* number of cols spanned by this cell */
 	Align	align;		/* alignment spec */
-	uchar	flags;		/* TFparsing, TFnowrap, TFisth */
+	uint8_t	flags;		/* TFparsing, TFnowrap, TFisth */
 	Dimen	wspec;		/* suggested width */
 	int	hspec;		/* suggested height */
 	Background background;	/* cell background */
@@ -621,8 +621,9 @@ extern int	dimenkind(Dimen d);
 extern int	dimenspec(Dimen d);
 extern void	freedocinfo(Docinfo* d);
 extern void	freeitems(Item* ithead);
-extern Item*	parsehtml(uchar* data, int datalen, Rune* src, int mtype, int chset, Docinfo** pdi);
-extern void	printitems(Item* items, char* msg);
+extern Item*	parsehtml(uint8_t* data, int datalen, Rune* src,
+			      int mtype, int chset, Docinfo** pdi);
+extern void	printitems(Item* items, int8_t* msg);
 extern int	targetid(Rune* s);
 extern Rune*	targetname(int targid);
 extern int	validitems(Item* i);
@@ -640,4 +641,4 @@ extern int	dbgbuild;
  * emalloc should zero its memory.
  */
 extern void*	emalloc(ulong);
-extern void*	erealloc(void* p, ulong size);
+extern void*	erealloc(void* p, uint32_t size);

+ 64 - 61
sys/include/httpd.h

@@ -55,15 +55,15 @@ enum
  */
 struct Htmlesc
 {
-	char		*name;
+	int8_t		*name;
 	Rune		value;
 };
 
 struct HContent
 {
 	HContent	*next;
-	char		*generic;
-	char		*specific;
+	int8_t		*generic;
+	int8_t		*specific;
 	float		q;		/* desirability of this kind of file */
 	int		mxb;		/* max uchars until worthless */
 };
@@ -80,7 +80,7 @@ struct HContents
  */
 struct HFields
 {
-	char		*s;
+	int8_t		*s;
 	HSPairs		*params;
 	HFields		*next;
 };
@@ -92,8 +92,8 @@ struct HFields
  */
 struct HSPairs
 {
-	char		*s;
-	char		*t;
+	int8_t		*s;
+	int8_t		*t;
 	HSPairs		*next;
 };
 
@@ -103,8 +103,8 @@ struct HSPairs
 struct HRange
 {
 	int		suffix;			/* is this a suffix request? */
-	ulong		start;
-	ulong		stop;			/* ~0UL -> not given */
+	uint32_t		start;
+	uint32_t		stop;			/* ~0UL -> not given */
 	HRange		*next;
 };
 
@@ -113,7 +113,7 @@ struct HRange
  */
 struct HETag
 {
-	char		*etag;
+	int8_t		*etag;
 	int		weak;
 	HETag		*next;
 };
@@ -137,14 +137,14 @@ enum
 struct Hio {
 	Hio		*hh; /* next lower layer Hio, or nil if reads from fd */
 	int		fd;		/* associated file descriptor */
-	ulong		seek;		/* of start */
-	uchar		state;		/* state of the file */
-	uchar		xferenc;	/* chunked transfer encoding state */
-	uchar		*pos;		/* current position in the buffer */
-	uchar		*stop;		/* last character active in the buffer */
-	uchar		*start;		/* start of data buffer */
-	ulong		bodylen;	/* remaining length of message body */
-	uchar		buf[Hsize+32];
+	uint32_t		seek;		/* of start */
+	uint8_t		state;		/* state of the file */
+	uint8_t		xferenc;	/* chunked transfer encoding state */
+	uint8_t		*pos;		/* current position in the buffer */
+	uint8_t		*stop;		/* last character active in the buffer */
+	uint8_t		*start;		/* start of data buffer */
+	uint32_t		bodylen;	/* remaining length of message body */
+	uint8_t		buf[Hsize+32];
 };
 
 /*
@@ -152,10 +152,10 @@ struct Hio {
  */
 struct HttpReq
 {
-	char		*meth;
-	char		*uri;
-	char		*urihost;
-	char		*search;
+	int8_t		*meth;
+	int8_t		*uri;
+	int8_t		*urihost;
+	int8_t		*search;
 	int		vermaj;
 	int		vermin;
 	HSPairs		*searchpairs;
@@ -167,27 +167,27 @@ struct HttpReq
 struct HttpHead
 {
 	int	closeit;	/* http1.1 close connection after this request? */
-	uchar	persist;	/* http/1.1 requests a persistent connection */
+	uint8_t	persist;	/* http/1.1 requests a persistent connection */
 
-	uchar	expectcont;	/* expect a 100-continue */
-	uchar	expectother; /* expect anything else; should reject with ExpectFail */
-	ulong	contlen;	/* if != ~0UL, length of included message body */
+	uint8_t	expectcont;	/* expect a 100-continue */
+	uint8_t	expectother; /* expect anything else; should reject with ExpectFail */
+	uint32_t	contlen;	/* if != ~0UL, length of included message body */
 	HFields	*transenc;  /* if present, encoding of included message body */
-	char	*client;
-	char	*host;
+	int8_t	*client;
+	int8_t	*host;
 	HContent *okencode;
 	HContent *oklang;
 	HContent *oktype;
 	HContent *okchar;
-	ulong	ifmodsince;
-	ulong	ifunmodsince;
-	ulong	ifrangedate;
+	uint32_t	ifmodsince;
+	uint32_t	ifunmodsince;
+	uint32_t	ifrangedate;
 	HETag	*ifmatch;
 	HETag	*ifnomatch;
 	HETag	*ifrangeetag;
 	HRange	*range;
-	char	*authuser;		/* authorization info */
-	char	*authpass;
+	int8_t	*authuser;		/* authorization info */
+	int8_t	*authpass;
 	HSPairs	*cookie;	/* if present, list of cookies */
 	HSPairs		*authinfo;		/* digest authorization */
 
@@ -204,21 +204,21 @@ struct HttpHead
 struct HConnect
 {
 	void	*private;		/* for the library clients */
-	void	(*replog)(HConnect*, char*, ...); /* called when reply sent */
+	void	(*replog)(HConnect*, int8_t*, ...); /* called when reply sent */
 
-	char	*scheme;		/* "http" vs. "https" */
-	char	*port;		/* may be arbitrary, i.e., neither 80 nor 443 */
+	int8_t	*scheme;		/* "http" vs. "https" */
+	int8_t	*port;		/* may be arbitrary, i.e., neither 80 nor 443 */
 
 	HttpReq	req;
 	HttpHead head;
 
 	Bin	*bin;
 
-	ulong	reqtime;		/* time at start of request */
-	char	xferbuf[HBufSize]; /* buffer for making up or transferring data */
-	uchar	header[HBufSize + 2];	/* room for \n\0 */
-	uchar	*hpos;
-	uchar	*hstop;
+	uint32_t	reqtime;		/* time at start of request */
+	int8_t	xferbuf[HBufSize]; /* buffer for making up or transferring data */
+	uint8_t	header[HBufSize + 2];	/* room for \n\0 */
+	uint8_t	*hpos;
+	uint8_t	*hstop;
 	Hio	hin;
 	Hio	hout;
 };
@@ -226,19 +226,19 @@ struct HConnect
 /*
  * configuration for all connections within the server
  */
-extern	char*		hmydomain;
-extern	char*		hversion;
+extern	int8_t*		hmydomain;
+extern	int8_t*		hversion;
 extern	Htmlesc		htmlesc[];
 
 /*
  * .+2,/^$/ | sort -bd +1
  */
-void			*halloc(HConnect *c, ulong size);
-Hio			*hbodypush(Hio *hh, ulong len, HFields *te);
+void			*halloc(HConnect *c, uint32_t size);
+Hio			*hbodypush(Hio *hh, uint32_t len, HFields *te);
 int			hbuflen(Hio *h, void *p);
-int			hcheckcontent(HContent*, HContent*, char*, int);
+int			hcheckcontent(HContent*, HContent*, int8_t*, int);
 void			hclose(Hio*);
-ulong			hdate2sec(char*);
+uint32_t			hdate2sec(int8_t*);
 int			hdatefmt(Fmt*);
 int			hfail(HConnect*, int, ...);
 int			hflush(Hio*);
@@ -247,33 +247,36 @@ int			hgethead(HConnect *c, int many);
 int			hinit(Hio*, int, int);
 int			hiserror(Hio *h);
 int			hlflush(Hio*);
-int			hload(Hio*, char*);
-char			*hlower(char*);
-HContent		*hmkcontent(HConnect *c, char *generic, char *specific, HContent *next);
-HFields			*hmkhfields(HConnect *c, char *s, HSPairs *p, HFields *next);
-char			*hmkmimeboundary(HConnect *c);
-HSPairs			*hmkspairs(HConnect *c, char *s, char *t, HSPairs *next);
-int			hmoved(HConnect *c, char *uri);
+int			hload(Hio*, int8_t*);
+int8_t			*hlower(int8_t*);
+HContent		*hmkcontent(HConnect *c, int8_t *generic,
+				    int8_t *specific, HContent *next);
+HFields			*hmkhfields(HConnect *c, int8_t *s,
+					   HSPairs *p, HFields *next);
+int8_t			*hmkmimeboundary(HConnect *c);
+HSPairs			*hmkspairs(HConnect *c, int8_t *s, int8_t *t,
+					  HSPairs *next);
+int			hmoved(HConnect *c, int8_t *uri);
 void			hokheaders(HConnect *c);
 int			hparseheaders(HConnect*, int timeout);
-HSPairs			*hparsequery(HConnect *c, char *search);
+HSPairs			*hparsequery(HConnect *c, int8_t *search);
 int			hparsereq(HConnect *c, int timeout);
-int			hprint(Hio*, char*, ...);
+int			hprint(Hio*, int8_t*, ...);
 int			hputc(Hio*, int);
 void			*hreadbuf(Hio *h, void *vsave);
-int			hredirected(HConnect *c, char *how, char *uri);
+int			hredirected(HConnect *c, int8_t *how, int8_t *uri);
 void			hreqcleanup(HConnect *c);
 HFields			*hrevhfields(HFields *hf);
 HSPairs			*hrevspairs(HSPairs *sp);
-char			*hstrdup(HConnect *c, char *s);
+int8_t			*hstrdup(HConnect *c, int8_t *s);
 int			http11(HConnect*);
 int			httpfmt(Fmt*);
-char			*httpunesc(HConnect *c, char *s);
-int			hunallowed(HConnect *, char *allowed);
+int8_t			*httpunesc(HConnect *c, int8_t *s);
+int			hunallowed(HConnect *, int8_t *allowed);
 int			hungetc(Hio *h);
-char			*hunload(Hio*);
+int8_t			*hunload(Hio*);
 int			hurlfmt(Fmt*);
-char			*hurlunesc(HConnect *c, char *s);
+int8_t			*hurlunesc(HConnect *c, int8_t *s);
 int			hwrite(Hio*, void*, int);
 int			hxferenc(Hio*, int);
 

+ 57 - 57
sys/include/ip.h

@@ -36,11 +36,11 @@ struct Iplifc
 	Iplifc	*next;
 
 	/* per address on the ip interface */
-	uchar	ip[IPaddrlen];
-	uchar	mask[IPaddrlen];
-	uchar	net[IPaddrlen];		/* ip & mask */
-	ulong	preflt;			/* preferred lifetime */
-	ulong	validlt;		/* valid lifetime */
+	uint8_t	ip[IPaddrlen];
+	uint8_t	mask[IPaddrlen];
+	uint8_t	net[IPaddrlen];		/* ip & mask */
+	uint32_t	preflt;			/* preferred lifetime */
+	uint32_t	validlt;		/* valid lifetime */
 };
 
 /* default values, one per stack */
@@ -65,14 +65,14 @@ struct Ipifc
 
 	/* per ip interface */
 	int	index;			/* number of interface in ipifc dir */
-	char	dev[64];
-	uchar	sendra6;		/* on == send router adv */
-	uchar	recvra6;		/* on == rcv router adv */
+	int8_t	dev[64];
+	uint8_t	sendra6;		/* on == send router adv */
+	uint8_t	recvra6;		/* on == rcv router adv */
 	int	mtu;
-	ulong	pktin;
-	ulong	pktout;
-	ulong	errin;
-	ulong	errout;
+	uint32_t	pktin;
+	uint32_t	pktout;
+	uint32_t	errin;
+	uint32_t	errout;
 	Ipv6rp	rp;
 };
 
@@ -128,13 +128,13 @@ enum {
 /* V6 header on the wire */
 typedef struct Ip6hdr Ip6hdr;
 struct Ip6hdr {
-	uchar	vcf[4];		/* version:4, traffic class:8, flow label:20 */
-	uchar	ploadlen[2];	/* payload length: packet length - 40 */
-	uchar	proto;		/* next header type */
-	uchar	ttl;		/* hop limit */
-	uchar	src[IPaddrlen];	/* source address */
-	uchar	dst[IPaddrlen];	/* destination address */
-	uchar	payload[];
+	uint8_t	vcf[4];		/* version:4, traffic class:8, flow label:20 */
+	uint8_t	ploadlen[2];	/* payload length: packet length - 40 */
+	uint8_t	proto;		/* next header type */
+	uint8_t	ttl;		/* hop limit */
+	uint8_t	src[IPaddrlen];	/* source address */
+	uint8_t	dst[IPaddrlen];	/* destination address */
+	uint8_t	payload[];
 };
 
 /*
@@ -142,9 +142,9 @@ struct Ip6hdr {
  */
 typedef struct Icmp6hdr Icmp6hdr;
 struct Icmp6hdr {
-	uchar	_0_[8];
-	uchar	laddr[IPaddrlen];	/* local address */
-	uchar	raddr[IPaddrlen];	/* remote address */
+	uint8_t	_0_[8];
+	uint8_t	laddr[IPaddrlen];	/* local address */
+	uint8_t	raddr[IPaddrlen];	/* remote address */
 };
 
 /*
@@ -158,52 +158,52 @@ enum
 typedef struct Udphdr Udphdr;
 struct Udphdr
 {
-	uchar	raddr[IPaddrlen];	/* V6 remote address */
-	uchar	laddr[IPaddrlen];	/* V6 local address */
-	uchar	ifcaddr[IPaddrlen];	/* V6 ifc addr msg was received on */
-	uchar	rport[2];		/* remote port */
-	uchar	lport[2];		/* local port */
+	uint8_t	raddr[IPaddrlen];	/* V6 remote address */
+	uint8_t	laddr[IPaddrlen];	/* V6 local address */
+	uint8_t	ifcaddr[IPaddrlen];	/* V6 ifc addr msg was received on */
+	uint8_t	rport[2];		/* remote port */
+	uint8_t	lport[2];		/* local port */
 };
 
-uchar*	defmask(uchar*);
-void	maskip(uchar*, uchar*, uchar*);
+uint8_t*	defmask(uint8_t*);
+void	maskip(uint8_t*, uint8_t*, uint8_t*);
 int	eipfmt(Fmt*);
-int	isv4(uchar*);
-vlong	parseip(uchar*, char*);
-vlong	parseipmask(uchar*, char*);
-char*	v4parseip(uchar*, char*);
-char*	v4parsecidr(uchar*, uchar*, char*);
-int	parseether(uchar*, char*);
-int	myipaddr(uchar*, char*);
-int	myetheraddr(uchar*, char*);
-int	equivip4(uchar*, uchar*);
-int	equivip6(uchar*, uchar*);
-
-Ipifc*	readipifc(char*, Ipifc*, int);
-
-void	hnputv(void*, uvlong);
+int	isv4(uint8_t*);
+int64_t	parseip(uint8_t*, int8_t*);
+int64_t	parseipmask(uint8_t*, int8_t*);
+int8_t*	v4parseip(uint8_t*, int8_t*);
+int8_t*	v4parsecidr(uint8_t*, uint8_t*, int8_t*);
+int	parseether(uint8_t*, int8_t*);
+int	myipaddr(uint8_t*, int8_t*);
+int	myetheraddr(uint8_t*, int8_t*);
+int	equivip4(uint8_t*, uint8_t*);
+int	equivip6(uint8_t*, uint8_t*);
+
+Ipifc*	readipifc(int8_t*, Ipifc*, int);
+
+void	hnputv(void*, uint64_t);
 void	hnputl(void*, uint);
-void	hnputs(void*, ushort);
-uvlong	nhgetv(void*);
+void	hnputs(void*, uint16_t);
+uint64_t	nhgetv(void*);
 uint	nhgetl(void*);
-ushort	nhgets(void*);
-ushort	ptclbsum(uchar*, int);
+uint16_t	nhgets(void*);
+uint16_t	ptclbsum(uint8_t*, int);
 
-int	v6tov4(uchar*, uchar*);
-void	v4tov6(uchar*, uchar*);
+int	v6tov4(uint8_t*, uint8_t*);
+void	v4tov6(uint8_t*, uint8_t*);
 
 #define	ipcmp(x, y) memcmp(x, y, IPaddrlen)
 #define	ipmove(x, y) memmove(x, y, IPaddrlen)
 
-extern uchar IPv4bcast[IPaddrlen];
-extern uchar IPv4bcastobs[IPaddrlen];
-extern uchar IPv4allsys[IPaddrlen];
-extern uchar IPv4allrouter[IPaddrlen];
-extern uchar IPnoaddr[IPaddrlen];
-extern uchar v4prefix[IPaddrlen];
-extern uchar IPallbits[IPaddrlen];
+extern uint8_t IPv4bcast[IPaddrlen];
+extern uint8_t IPv4bcastobs[IPaddrlen];
+extern uint8_t IPv4allsys[IPaddrlen];
+extern uint8_t IPv4allrouter[IPaddrlen];
+extern uint8_t IPnoaddr[IPaddrlen];
+extern uint8_t v4prefix[IPaddrlen];
+extern uint8_t IPallbits[IPaddrlen];
 
-#define CLASS(p) ((*(uchar*)(p))>>6)
+#define CLASS(p) ((*(uint8_t*)(p))>>6)
 
 #pragma	varargck	type	"I"	uchar*
 #pragma	varargck	type	"V"	uchar*

+ 3 - 3
sys/include/keyboard.h

@@ -17,15 +17,15 @@ struct	Keyboardctl
 {
 	Channel	*c;	/* chan(Rune)[20] */
 
-	char		*file;
+	int8_t		*file;
 	int		consfd;		/* to cons file */
 	int		ctlfd;		/* to ctl file */
 	int		pid;		/* of slave proc */
 };
 
 
-extern	Keyboardctl*	initkeyboard(char*);
-extern	int		ctlkeyboard(Keyboardctl*, char*);
+extern	Keyboardctl*	initkeyboard(int8_t*);
+extern	int		ctlkeyboard(Keyboardctl*, int8_t*);
 extern	void		closekeyboard(Keyboardctl*);
 
 enum {

+ 226 - 224
sys/include/libc.h

@@ -17,36 +17,36 @@
 /*
  * mem routines
  */
-extern	void*	memccpy(void*, void*, int, ulong);
-extern	void*	memset(void*, int, ulong);
-extern	int	memcmp(void*, void*, ulong);
-extern	void*	memcpy(void*, void*, ulong);
-extern	void*	memmove(void*, void*, ulong);
-extern	void*	memchr(void*, int, ulong);
+extern	void*	memccpy(void*, void*, int, uint32_t);
+extern	void*	memset(void*, int, uint32_t);
+extern	int	memcmp(void*, void*, uint32_t);
+extern	void*	memcpy(void*, void*, uint32_t);
+extern	void*	memmove(void*, void*, uint32_t);
+extern	void*	memchr(void*, int, uint32_t);
 
 /*
  * string routines
  */
-extern	char*	strcat(char*, char*);
-extern	char*	strchr(char*, int);
-extern	int	strcmp(char*, char*);
-extern	char*	strcpy(char*, char*);
-extern	char*	strecpy(char*, char*, char*);
-extern	char*	strdup(char*);
-extern	char*	strncat(char*, char*, long);
-extern	char*	strncpy(char*, char*, long);
-extern	int	strncmp(char*, char*, long);
-extern	char*	strpbrk(char*, char*);
-extern	char*	strrchr(char*, int);
-extern	char*	strtok(char*, char*);
-extern	long	strlen(char*);
-extern	long	strspn(char*, char*);
-extern	long	strcspn(char*, char*);
-extern	char*	strstr(char*, char*);
-extern	int	cistrncmp(char*, char*, int);
-extern	int	cistrcmp(char*, char*);
-extern	char*	cistrstr(char*, char*);
-extern	int	tokenize(char*, char**, int);
+extern	int8_t*	strcat(int8_t*, int8_t*);
+extern	int8_t*	strchr(int8_t*, int);
+extern	int	strcmp(int8_t*, int8_t*);
+extern	int8_t*	strcpy(int8_t*, int8_t*);
+extern	int8_t*	strecpy(int8_t*, int8_t*, int8_t*);
+extern	int8_t*	strdup(int8_t*);
+extern	int8_t*	strncat(int8_t*, int8_t*, int32_t);
+extern	int8_t*	strncpy(int8_t*, int8_t*, int32_t);
+extern	int	strncmp(int8_t*, int8_t*, int32_t);
+extern	int8_t*	strpbrk(int8_t*, int8_t*);
+extern	int8_t*	strrchr(int8_t*, int);
+extern	int8_t*	strtok(int8_t*, int8_t*);
+extern	int32_t	strlen(int8_t*);
+extern	int32_t	strspn(int8_t*, int8_t*);
+extern	int32_t	strcspn(int8_t*, int8_t*);
+extern	int8_t*	strstr(int8_t*, int8_t*);
+extern	int	cistrncmp(int8_t*, int8_t*, int);
+extern	int	cistrcmp(int8_t*, int8_t*);
+extern	int8_t*	cistrstr(int8_t*, int8_t*);
+extern	int	tokenize(int8_t*, int8_t**, int);
 
 enum
 {
@@ -61,29 +61,29 @@ enum
 /*
  * rune routines
  */
-extern	int	runetochar(char*, Rune*);
-extern	int	chartorune(Rune*, char*);
-extern	int	runelen(long);
+extern	int	runetochar(int8_t*, Rune*);
+extern	int	chartorune(Rune*, int8_t*);
+extern	int	runelen(int32_t);
 extern	int	runenlen(Rune*, int);
-extern	int	fullrune(char*, int);
-extern	int	utflen(char*);
-extern	int	utfnlen(char*, long);
-extern	char*	utfrune(char*, long);
-extern	char*	utfrrune(char*, long);
-extern	char*	utfutf(char*, char*);
-extern	char*	utfecpy(char*, char*, char*);
+extern	int	fullrune(int8_t*, int);
+extern	int	utflen(int8_t*);
+extern	int	utfnlen(int8_t*, int32_t);
+extern	int8_t*	utfrune(int8_t*, int32_t);
+extern	int8_t*	utfrrune(int8_t*, int32_t);
+extern	int8_t*	utfutf(int8_t*, int8_t*);
+extern	int8_t*	utfecpy(int8_t*, int8_t*, int8_t*);
 
 extern	Rune*	runestrcat(Rune*, Rune*);
 extern	Rune*	runestrchr(Rune*, Rune);
 extern	int	runestrcmp(Rune*, Rune*);
 extern	Rune*	runestrcpy(Rune*, Rune*);
-extern	Rune*	runestrncpy(Rune*, Rune*, long);
+extern	Rune*	runestrncpy(Rune*, Rune*, int32_t);
 extern	Rune*	runestrecpy(Rune*, Rune*, Rune*);
 extern	Rune*	runestrdup(Rune*);
-extern	Rune*	runestrncat(Rune*, Rune*, long);
-extern	int	runestrncmp(Rune*, Rune*, long);
+extern	Rune*	runestrncat(Rune*, Rune*, int32_t);
+extern	int	runestrncmp(Rune*, Rune*, int32_t);
 extern	Rune*	runestrrchr(Rune*, Rune);
-extern	long	runestrlen(Rune*);
+extern	int32_t	runestrlen(Rune*);
 extern	Rune*	runestrstr(Rune*, Rune*);
 
 extern	Rune	tolowerrune(Rune);
@@ -101,17 +101,17 @@ extern	int	isupperrune(Rune);
 /*
  * malloc
  */
-extern	void*	malloc(ulong);
-extern	void*	mallocz(ulong, int);
+extern	void*	malloc(uint32_t);
+extern	void*	mallocz(uint32_t, int);
 extern	void	free(void*);
-extern	ulong	msize(void*);
-extern	void*	mallocalign(ulong, ulong, long, ulong);
-extern	void*	calloc(ulong, ulong);
-extern	void*	realloc(void*, ulong);
-extern	void	setmalloctag(void*, ulong);
-extern	void	setrealloctag(void*, ulong);
-extern	ulong	getmalloctag(void*);
-extern	ulong	getrealloctag(void*);
+extern	uint32_t	msize(void*);
+extern	void*	mallocalign(uint32_t, uint32_t, int32_t, uint32_t);
+extern	void*	calloc(uint32_t, uint32_t);
+extern	void*	realloc(void*, uint32_t);
+extern	void	setmalloctag(void*, uint32_t);
+extern	void	setrealloctag(void*, uint32_t);
+extern	uint32_t	getmalloctag(void*);
+extern	uint32_t	getrealloctag(void*);
 extern	void*	malloctopoolblock(void*);
 
 /*
@@ -119,7 +119,7 @@ extern	void*	malloctopoolblock(void*);
  */
 typedef struct Fmt	Fmt;
 struct Fmt{
-	uchar	runes;			/* output buffer is runes or chars? */
+	uint8_t	runes;			/* output buffer is runes or chars? */
 	void	*start;			/* of buffer */
 	void	*to;			/* current place in the buffer */
 	void	*stop;			/* end of the buffer; overwritten if flush fails */
@@ -130,7 +130,7 @@ struct Fmt{
 	int	r;			/* % format Rune */
 	int	width;
 	int	prec;
-	ulong	flags;
+	uint32_t	flags;
 };
 
 enum{
@@ -151,29 +151,29 @@ enum{
 	FmtFlag		= FmtByte << 1
 };
 
-extern	int	print(char*, ...);
-extern	char*	seprint(char*, char*, char*, ...);
-extern	char*	vseprint(char*, char*, char*, va_list);
-extern	int	snprint(char*, int, char*, ...);
-extern	int	vsnprint(char*, int, char*, va_list);
-extern	char*	smprint(char*, ...);
-extern	char*	vsmprint(char*, va_list);
-extern	int	sprint(char*, char*, ...);
-extern	int	fprint(int, char*, ...);
-extern	int	vfprint(int, char*, va_list);
-
-extern	int	runesprint(Rune*, char*, ...);
-extern	int	runesnprint(Rune*, int, char*, ...);
-extern	int	runevsnprint(Rune*, int, char*, va_list);
-extern	Rune*	runeseprint(Rune*, Rune*, char*, ...);
-extern	Rune*	runevseprint(Rune*, Rune*, char*, va_list);
-extern	Rune*	runesmprint(char*, ...);
-extern	Rune*	runevsmprint(char*, va_list);
-
-extern	int	fmtfdinit(Fmt*, int, char*, int);
+extern	int	print(int8_t*, ...);
+extern	int8_t*	seprint(int8_t*, int8_t*, int8_t*, ...);
+extern	int8_t*	vseprint(int8_t*, int8_t*, int8_t*, va_list);
+extern	int	snprint(int8_t*, int, int8_t*, ...);
+extern	int	vsnprint(int8_t*, int, int8_t*, va_list);
+extern	int8_t*	smprint(int8_t*, ...);
+extern	int8_t*	vsmprint(int8_t*, va_list);
+extern	int	sprint(int8_t*, int8_t*, ...);
+extern	int	fprint(int, int8_t*, ...);
+extern	int	vfprint(int, int8_t*, va_list);
+
+extern	int	runesprint(Rune*, int8_t*, ...);
+extern	int	runesnprint(Rune*, int, int8_t*, ...);
+extern	int	runevsnprint(Rune*, int, int8_t*, va_list);
+extern	Rune*	runeseprint(Rune*, Rune*, int8_t*, ...);
+extern	Rune*	runevseprint(Rune*, Rune*, int8_t*, va_list);
+extern	Rune*	runesmprint(int8_t*, ...);
+extern	Rune*	runevsmprint(int8_t*, va_list);
+
+extern	int	fmtfdinit(Fmt*, int, int8_t*, int);
 extern	int	fmtfdflush(Fmt*);
 extern	int	fmtstrinit(Fmt*);
-extern	char*	fmtstrflush(Fmt*);
+extern	int8_t*	fmtstrflush(Fmt*);
 extern	int	runefmtstrinit(Fmt*);
 extern	Rune*	runefmtstrflush(Fmt*);
 
@@ -237,12 +237,12 @@ extern	Rune*	runefmtstrflush(Fmt*);
 #pragma varargck	type	"lH"	void*
 
 extern	int	fmtinstall(int, int (*)(Fmt*));
-extern	int	dofmt(Fmt*, char*);
+extern	int	dofmt(Fmt*, int8_t*);
 extern	int	dorfmt(Fmt*, Rune*);
-extern	int	fmtprint(Fmt*, char*, ...);
-extern	int	fmtvprint(Fmt*, char*, va_list);
+extern	int	fmtprint(Fmt*, int8_t*, ...);
+extern	int	fmtvprint(Fmt*, int8_t*, va_list);
 extern	int	fmtrune(Fmt*, int);
-extern	int	fmtstrcpy(Fmt*, char*);
+extern	int	fmtstrcpy(Fmt*, int8_t*);
 extern	int	fmtrunestrcpy(Fmt*, Rune*);
 /*
  * error string for %r
@@ -253,9 +253,9 @@ extern	int	errfmt(Fmt *f);
 /*
  * quoted strings
  */
-extern	char	*unquotestrdup(char*);
+extern	int8_t	*unquotestrdup(int8_t*);
 extern	Rune	*unquoterunestrdup(Rune*);
-extern	char	*quotestrdup(char*);
+extern	int8_t	*quotestrdup(int8_t*);
 extern	Rune	*quoterunestrdup(Rune*);
 extern	int	quotestrfmt(Fmt*);
 extern	int	quoterunestrfmt(Fmt*);
@@ -266,28 +266,28 @@ extern	int	needsrcquote(int);
 /*
  * random number
  */
-extern	void	srand(long);
+extern	void	srand(int32_t);
 extern	int	rand(void);
 extern	int	nrand(int);
-extern	long	lrand(void);
-extern	long	lnrand(long);
+extern	int32_t	lrand(void);
+extern	int32_t	lnrand(int32_t);
 extern	double	frand(void);
-extern	ulong	truerand(void);			/* uses /dev/random */
-extern	ulong	ntruerand(ulong);		/* uses /dev/random */
+extern	uint32_t	truerand(void);			/* uses /dev/random */
+extern	uint32_t	ntruerand(uint32_t);		/* uses /dev/random */
 
 /*
  * math
  */
-extern	ulong	getfcr(void);
-extern	void	setfsr(ulong);
-extern	ulong	getfsr(void);
-extern	void	setfcr(ulong);
+extern	uint32_t	getfcr(void);
+extern	void	setfsr(uint32_t);
+extern	uint32_t	getfsr(void);
+extern	void	setfcr(uint32_t);
 extern	double	NaN(void);
 extern	double	Inf(int);
 extern	int	isNaN(double);
 extern	int	isInf(double, int);
-extern	ulong	umuldiv(ulong, ulong, ulong);
-extern	long	muldiv(long, long, long);
+extern	uint32_t	umuldiv(uint32_t, uint32_t, uint32_t);
+extern	int32_t	muldiv(int32_t, int32_t, int32_t);
 
 extern	double	pow(double, double);
 extern	double	atan2(double, double);
@@ -329,20 +329,20 @@ struct Tm
 	int	year;
 	int	wday;
 	int	yday;
-	char	zone[4];
+	int8_t	zone[4];
 	int	tzoff;
 } Tm;
 
-extern	Tm*	gmtime(long);
-extern	Tm*	localtime(long);
-extern	char*	asctime(Tm*);
-extern	char*	ctime(long);
+extern	Tm*	gmtime(int32_t);
+extern	Tm*	localtime(int32_t);
+extern	int8_t*	asctime(Tm*);
+extern	int8_t*	ctime(int32_t);
 extern	double	cputime(void);
-extern	long	times(long*);
-extern	long	tm2sec(Tm*);
-extern	vlong	nsec(void);
+extern	int32_t	times(int32_t*);
+extern	int32_t	tm2sec(Tm*);
+extern	int64_t	nsec(void);
 
-extern	void	cycles(uvlong*);	/* 64-bit value of the cycle counter if there is one, 0 if there isn't */
+extern	void	cycles(uint64_t*);	/* 64-bit value of the cycle counter if there is one, 0 if there isn't */
 
 /*
  * one-of-a-kind
@@ -353,58 +353,59 @@ enum
 	PNGROUP		= 2,
 };
 
-extern	void	_assert(char*);
+extern	void	_assert(int8_t*);
 extern	int	abs(int);
 extern	int	atexit(void(*)(void));
 extern	void	atexitdont(void(*)(void));
-extern	int	atnotify(int(*)(void*, char*), int);
-extern	double	atof(char*);
-extern	int	atoi(char*);
-extern	long	atol(char*);
-extern	vlong	atoll(char*);
+extern	int	atnotify(int(*)(void*, int8_t*), int);
+extern	double	atof(int8_t*);
+extern	int	atoi(int8_t*);
+extern	int32_t	atol(int8_t*);
+extern	int64_t	atoll(int8_t*);
 extern	double	charstod(int(*)(void*), void*);
-extern	char*	cleanname(char*);
+extern	int8_t*	cleanname(int8_t*);
 extern	int	decrypt(void*, void*, int);
 extern	int	encrypt(void*, void*, int);
-extern	int	dec64(uchar*, int, char*, int);
-extern	int	enc64(char*, int, uchar*, int);
-extern	int	dec32(uchar*, int, char*, int);
-extern	int	enc32(char*, int, uchar*, int);
-extern	int	dec16(uchar*, int, char*, int);
-extern	int	enc16(char*, int, uchar*, int);
+extern	int	dec64(uint8_t*, int, int8_t*, int);
+extern	int	enc64(int8_t*, int, uint8_t*, int);
+extern	int	dec32(uint8_t*, int, int8_t*, int);
+extern	int	enc32(int8_t*, int, uint8_t*, int);
+extern	int	dec16(uint8_t*, int, int8_t*, int);
+extern	int	enc16(int8_t*, int, uint8_t*, int);
 extern	int	encodefmt(Fmt*);
-extern	void	exits(char*);
+extern	void	exits(int8_t*);
 extern	double	frexp(double, int*);
 extern	uintptr	getcallerpc(void*);
-extern	char*	getenv(char*);
-extern	int	getfields(char*, char**, int, int, char*);
-extern	int	gettokens(char *, char **, int, char *);
-extern	char*	getuser(void);
-extern	char*	getwd(char*, int);
+extern	int8_t*	getenv(int8_t*);
+extern	int	getfields(int8_t*, int8_t**, int, int, int8_t*);
+extern	int	gettokens(int8_t *, int8_t **, int, int8_t *);
+extern	int8_t*	getuser(void);
+extern	int8_t*	getwd(int8_t*, int);
 extern	int	iounit(int);
-extern	long	labs(long);
+extern	int32_t	labs(int32_t);
 extern	double	ldexp(double, int);
 extern	void	longjmp(jmp_buf, int);
-extern	char*	mktemp(char*);
+extern	int8_t*	mktemp(int8_t*);
 extern	double	modf(double, double*);
 extern	int	netcrypt(void*, void*);
 extern	void	notejmp(void*, jmp_buf, int);
-extern	void	perror(const char*);
-extern	int	postnote(int, int, char *);
+extern	void	perror(const int8_t*);
+extern	int	postnote(int, int, int8_t *);
 extern	double	pow10(int);
-extern	int	putenv(char*, char*);
-extern	void	qsort(void*, long, long, int (*)(void*, void*));
+extern	int	putenv(int8_t*, int8_t*);
+extern	void	qsort(void*, int32_t, int32_t,
+				int (*)(void*, void*));
 extern	int	setjmp(jmp_buf);
-extern	double	strtod(char*, char**);
-extern	long	strtol(char*, char**, int);
-extern	ulong	strtoul(char*, char**, int);
-extern	vlong	strtoll(char*, char**, int);
-extern	uvlong	strtoull(char*, char**, int);
-extern	void	sysfatal(char*, ...);
+extern	double	strtod(int8_t*, int8_t**);
+extern	int32_t	strtol(int8_t*, int8_t**, int);
+extern	uint32_t	strtoul(int8_t*, int8_t**, int);
+extern	int64_t	strtoll(int8_t*, int8_t**, int);
+extern	uint64_t	strtoull(int8_t*, int8_t**, int);
+extern	void	sysfatal(int8_t*, ...);
 #pragma	varargck	argpos	sysfatal	1
-extern	void	syslog(int, char*, char*, ...);
+extern	void	syslog(int, int8_t*, int8_t*, ...);
 #pragma	varargck	argpos	syslog	3
-extern	long	time(long*);
+extern	int32_t	time(int32_t*);
 extern	int	tolower(int);
 extern	int	toupper(int);
 
@@ -423,19 +424,19 @@ extern	void	prof(void (*fn)(void*), void *arg, int entries, int what);
 /*
  * atomic
  */
-long	ainc(long*);
-long	adec(long*);
-int	cas32(u32int*, u32int, u32int);
+int32_t	ainc(int32_t*);
+int32_t	adec(int32_t*);
+int	cas32(uint32_t*, uint32_t, uint32_t);
 int	casp(void**, void*, void*);
-int	casl(ulong*, ulong, ulong);
+int	casl(uint32_t*, uint32_t, uint32_t);
 
 /*
  *  synchronization
  */
 typedef
 struct Lock {
-	long	key;
-	long	sem;
+	int32_t	key;
+	int32_t	sem;
 } Lock;
 
 extern int	_tas(int*);
@@ -449,7 +450,7 @@ struct QLp
 {
 	int	inuse;
 	QLp	*next;
-	char	state;
+	int8_t	state;
 };
 
 typedef
@@ -501,20 +502,21 @@ extern	void	privfree(void**);
  *  network dialing
  */
 #define NETPATHLEN 40
-extern	int	accept(int, char*);
-extern	int	announce(char*, char*);
-extern	int	dial(char*, char*, char*, int*);
-extern	void	setnetmtpt(char*, int, char*);
+extern	int	accept(int, int8_t*);
+extern	int	announce(int8_t*, int8_t*);
+extern	int	dial(int8_t*, int8_t*, int8_t*, int*);
+extern	void	setnetmtpt(int8_t*, int, int8_t*);
 extern	int	hangup(int);
-extern	int	listen(char*, char*);
-extern	char*	netmkaddr(char*, char*, char*);
-extern	int	reject(int, char*, char*);
+extern	int	listen(int8_t*, int8_t*);
+extern	int8_t*	netmkaddr(int8_t*, int8_t*, int8_t*);
+extern	int	reject(int, int8_t*, int8_t*);
 
 /*
  *  encryption
  */
-extern	int	pushssl(int, char*, char*, char*, int*);
-extern	int	pushtls(int, char*, char*, int, char*, char*);
+extern	int	pushssl(int, int8_t*, int8_t*, int8_t*, int*);
+extern	int	pushtls(int, int8_t*, int8_t*, int, int8_t*,
+				 int8_t*);
 
 /*
  *  network services
@@ -522,17 +524,17 @@ extern	int	pushtls(int, char*, char*, int, char*, char*);
 typedef struct NetConnInfo NetConnInfo;
 struct NetConnInfo
 {
-	char	*dir;		/* connection directory */
-	char	*root;		/* network root */
-	char	*spec;		/* binding spec */
-	char	*lsys;		/* local system */
-	char	*lserv;		/* local service */
-	char	*rsys;		/* remote system */
-	char	*rserv;		/* remote service */
-	char	*laddr;		/* local address */
-	char	*raddr;		/* remote address */
+	int8_t	*dir;		/* connection directory */
+	int8_t	*root;		/* network root */
+	int8_t	*spec;		/* binding spec */
+	int8_t	*lsys;		/* local system */
+	int8_t	*lserv;		/* local service */
+	int8_t	*rsys;		/* remote system */
+	int8_t	*rserv;		/* remote service */
+	int8_t	*laddr;		/* local address */
+	int8_t	*raddr;		/* remote address */
 };
-extern	NetConnInfo*	getnetconninfo(char*, int);
+extern	NetConnInfo*	getnetconninfo(int8_t*, int);
 extern	void		freenetconninfo(NetConnInfo*);
 
 /*
@@ -615,26 +617,26 @@ enum
 typedef
 struct Qid
 {
-	uvlong	path;
-	ulong	vers;
-	uchar	type;
+	uint64_t	path;
+	uint32_t	vers;
+	uint8_t	type;
 } Qid;
 
 typedef
 struct Dir {
 	/* system-modified data */
-	ushort	type;	/* server type */
+	uint16_t	type;	/* server type */
 	uint	dev;	/* server subtype */
 	/* file data */
 	Qid	qid;	/* unique id from server */
-	ulong	mode;	/* permissions */
-	ulong	atime;	/* last read time */
-	ulong	mtime;	/* last write time */
-	vlong	length;	/* file length */
-	char	*name;	/* last element of path */
-	char	*uid;	/* owner name */
-	char	*gid;	/* group name */
-	char	*muid;	/* last modifier name */
+	uint32_t	mode;	/* permissions */
+	uint32_t	atime;	/* last read time */
+	uint32_t	mtime;	/* last write time */
+	int64_t	length;	/* file length */
+	int8_t	*name;	/* last element of path */
+	int8_t	*uid;	/* owner name */
+	int8_t	*gid;	/* group name */
+	int8_t	*muid;	/* last modifier name */
 } Dir;
 
 /* keep /sys/src/ape/lib/ap/plan9/sys9.h in sync with this -rsc */
@@ -642,86 +644,86 @@ typedef
 struct Waitmsg
 {
 	int	pid;		/* of loved one */
-	ulong	time[3];	/* of loved one & descendants */
-	char	*msg;
+	uint32_t	time[3];	/* of loved one & descendants */
+	int8_t	*msg;
 } Waitmsg;
 
 typedef
 struct IOchunk
 {
 	void	*addr;
-	ulong	len;
+	uint32_t	len;
 } IOchunk;
 
-extern	void	_exits(char*);
+extern	void	_exits(int8_t*);
 
 extern	void	abort(void);
-extern	int	access(char*, int);
-extern	long	alarm(ulong);
-extern	int	await(char*, int);
-extern	int	bind(char*, char*, int);
+extern	int	access(int8_t*, int);
+extern	int32_t	alarm(uint32_t);
+extern	int	await(int8_t*, int);
+extern	int	bind(int8_t*, int8_t*, int);
 extern	int	brk(void*);
-extern	int	chdir(char*);
+extern	int	chdir(int8_t*);
 extern	int	close(int);
-extern	int	create(char*, int, ulong);
+extern	int	create(int8_t*, int, uint32_t);
 extern	int	dup(int, int);
-extern	int	errstr(char*, uint);
-extern	int	exec(char*, char*[]);
-extern	int	execl(char*, ...);
+extern	int	errstr(int8_t*, uint);
+extern	int	exec(int8_t*, int8_t*[]);
+extern	int	execl(int8_t*, ...);
 extern	int	fork(void);
 extern	int	rfork(int);
-extern	int	fauth(int, char*);
-extern	int	fstat(int, uchar*, int);
-extern	int	fwstat(int, uchar*, int);
-extern	int	fversion(int, int, char*, int);
-extern	int	mount(int, int, char*, int, char*);
-extern	int	unmount(char*, char*);
+extern	int	fauth(int, int8_t*);
+extern	int	fstat(int, uint8_t*, int);
+extern	int	fwstat(int, uint8_t*, int);
+extern	int	fversion(int, int, int8_t*, int);
+extern	int	mount(int, int, int8_t*, int, int8_t*);
+extern	int	unmount(int8_t*, int8_t*);
 extern	int	noted(int);
-extern	int	notify(void(*)(void*, char*));
-extern	int	open(char*, int);
-extern	int	fd2path(int, char*, int);
+extern	int	notify(void(*)(void*, int8_t*));
+extern	int	open(int8_t*, int);
+extern	int	fd2path(int, int8_t*, int);
 // extern	int	fdflush(int);
 extern	int	pipe(int*);
-extern	long	pread(int, void*, long, vlong);
-extern	long	preadv(int, IOchunk*, int, vlong);
-extern	long	pwrite(int, void*, long, vlong);
-extern	long	pwritev(int, IOchunk*, int, vlong);
-extern	long	read(int, void*, long);
-extern	long	readn(int, void*, long);
-extern	long	readv(int, IOchunk*, int);
-extern	int	remove(char*);
-extern	void*	sbrk(ulong);
-extern	long	oseek(int, long, int);
-extern	vlong	seek(int, vlong, int);
-extern	void*	segattach(int, char*, void*, ulong);
+extern	int32_t	pread(int, void*, int32_t, int64_t);
+extern	int32_t	preadv(int, IOchunk*, int, int64_t);
+extern	int32_t	pwrite(int, void*, int32_t, int64_t);
+extern	int32_t	pwritev(int, IOchunk*, int, int64_t);
+extern	int32_t	read(int, void*, int32_t);
+extern	int32_t	readn(int, void*, int32_t);
+extern	int32_t	readv(int, IOchunk*, int);
+extern	int	remove(int8_t*);
+extern	void*	sbrk(uint32_t);
+extern	int32_t	oseek(int, int32_t, int);
+extern	int64_t	seek(int, int64_t, int);
+extern	void*	segattach(int, int8_t*, void*, uint32_t);
 extern	void*	segbrk(void*, void*);
 extern	int	segdetach(void*);
-extern	int	segflush(void*, ulong);
-extern	int	segfree(void*, ulong);
-extern	int	semacquire(long*, int);
-extern	long	semrelease(long*, long);
-extern	int	sleep(long);
-extern	int	stat(char*, uchar*, int);
-extern	int	tsemacquire(long*, ulong);
+extern	int	segflush(void*, uint32_t);
+extern	int	segfree(void*, uint32_t);
+extern	int	semacquire(int32_t*, int);
+extern	int32_t	semrelease(int32_t*, int32_t);
+extern	int	sleep(int32_t);
+extern	int	stat(int8_t*, uint8_t*, int);
+extern	int	tsemacquire(int32_t*, uint32_t);
 extern	Waitmsg*	wait(void);
 extern	int	waitpid(void);
-extern	long	write(int, void*, long);
-extern	long	writev(int, IOchunk*, int);
-extern	int	wstat(char*, uchar*, int);
+extern	int32_t	write(int, void*, int32_t);
+extern	int32_t	writev(int, IOchunk*, int);
+extern	int	wstat(int8_t*, uint8_t*, int);
 extern	void*	rendezvous(void*, void*);
 
-extern	Dir*	dirstat(char*);
+extern	Dir*	dirstat(int8_t*);
 extern	Dir*	dirfstat(int);
-extern	int	dirwstat(char*, Dir*);
+extern	int	dirwstat(int8_t*, Dir*);
 extern	int	dirfwstat(int, Dir*);
-extern	long	dirread(int, Dir**);
+extern	int32_t	dirread(int, Dir**);
 extern	void	nulldir(Dir*);
-extern	long	dirreadall(int, Dir**);
+extern	int32_t	dirreadall(int, Dir**);
 extern	int	getpid(void);
 extern	int	getppid(void);
-extern	void	rerrstr(char*, uint);
-extern	char*	sysname(void);
-extern	void	werrstr(char*, ...);
+extern	void	rerrstr(int8_t*, uint);
+extern	int8_t*	sysname(void);
+extern	void	werrstr(int8_t*, ...);
 #pragma	varargck	argpos	werrstr	1
 
 /* compiler directives on plan 9 */
@@ -734,7 +736,7 @@ extern	void	werrstr(char*, ...);
 #       endif
 #endif
 
-extern char *argv0;
+extern int8_t *argv0;
 /* #define	ARGBEGIN	for((argv0||(argv0=*argv)),argv++,argc--;\ */
 #define ARGBEGIN        for((argv0?0:(argv0=*argv)),argv++,argc--;\
 			    argv[0] && argv[0][0]=='-' && argv[0][1];\
@@ -753,11 +755,11 @@ extern char *argv0;
 #define	ARGF()		(_argt=_args, _args="",\
 				(*_argt? _argt: argv[1]? (argc--, *++argv): 0))
 #define	EARGF(x)	(_argt=_args, _args="",\
-				(*_argt? _argt: argv[1]? (argc--, *++argv): ((x), abort(), (char*)0)))
+				(*_argt? _argt: argv[1]? (argc--, *++argv): ((x), abort(), (int8_t*)0)))
 
 #define	ARGC()		_argc
 
 /* this is used by sbrk and brk,  it's a really bad idea to redefine it */
-extern	char	_end[];
+extern	int8_t	_end[];
 /* In order to not to break GNU ld internal linker script */
 #define end _end

+ 130 - 112
sys/include/libsec.h

@@ -29,29 +29,32 @@ enum
 typedef struct AESstate AESstate;
 struct AESstate
 {
-	ulong	setup;
+	uint32_t	setup;
 	int	rounds;
 	int	keybytes;
 	uint	ctrsz;
-	uchar	key[AESmaxkey];			/* unexpanded key */
-	ulong	ekey[4*(AESmaxrounds + 1)];	/* encryption key */
-	ulong	dkey[4*(AESmaxrounds + 1)];	/* decryption key */
-	uchar	ivec[AESbsize];			/* initialization vector */
-	uchar	mackey[3 * AESbsize];		/* 3 XCBC mac 96 keys */
+	uint8_t	key[AESmaxkey];			/* unexpanded key */
+	uint32_t	ekey[4*(AESmaxrounds + 1)];	/* encryption key */
+	uint32_t	dkey[4*(AESmaxrounds + 1)];	/* decryption key */
+	uint8_t	ivec[AESbsize];			/* initialization vector */
+	uint8_t	mackey[3 * AESbsize];		/* 3 XCBC mac 96 keys */
 };
 
 /* block ciphers */
-void	aes_encrypt(ulong rk[], int Nr, uchar pt[16], uchar ct[16]);
-void	aes_decrypt(ulong rk[], int Nr, uchar ct[16], uchar pt[16]);
-
-void	setupAESstate(AESstate *s, uchar key[], int keybytes, uchar *ivec);
-void	aesCBCencrypt(uchar *p, int len, AESstate *s);
-void	aesCBCdecrypt(uchar *p, int len, AESstate *s);
-void	aesCTRdecrypt(uchar *p, int len, AESstate *s);
-void	aesCTRencrypt(uchar *p, int len, AESstate *s);
+void	aes_encrypt(uint32_t rk[], int Nr, uint8_t pt[16],
+			uint8_t ct[16]);
+void	aes_decrypt(uint32_t rk[], int Nr, uint8_t ct[16],
+			uint8_t pt[16]);
+
+void	setupAESstate(AESstate *s, uint8_t key[], int keybytes,
+			  uint8_t *ivec);
+void	aesCBCencrypt(uint8_t *p, int len, AESstate *s);
+void	aesCBCdecrypt(uint8_t *p, int len, AESstate *s);
+void	aesCTRdecrypt(uint8_t *p, int len, AESstate *s);
+void	aesCTRencrypt(uint8_t *p, int len, AESstate *s);
 
 void	setupAESXCBCstate(AESstate *s);
-uchar*	aesXCBCmac(uchar *p, int len, AESstate *s);
+uint8_t*	aesXCBCmac(uint8_t *p, int len, AESstate *s);
 
 /*
  * Blowfish Definitions
@@ -67,20 +70,21 @@ enum
 typedef struct BFstate BFstate;
 struct BFstate
 {
-	ulong	setup;
+	uint32_t	setup;
 
-	uchar	key[56];
-	uchar	ivec[8];
+	uint8_t	key[56];
+	uint8_t	ivec[8];
 
-	u32int 	pbox[BFrounds+2];
-	u32int	sbox[1024];
+	uint32_t 	pbox[BFrounds+2];
+	uint32_t	sbox[1024];
 };
 
-void	setupBFstate(BFstate *s, uchar key[], int keybytes, uchar *ivec);
-void	bfCBCencrypt(uchar*, int, BFstate*);
-void	bfCBCdecrypt(uchar*, int, BFstate*);
-void	bfECBencrypt(uchar*, int, BFstate*);
-void	bfECBdecrypt(uchar*, int, BFstate*);
+void	setupBFstate(BFstate *s, uint8_t key[], int keybytes,
+			 uint8_t *ivec);
+void	bfCBCencrypt(uint8_t*, int, BFstate*);
+void	bfCBCdecrypt(uint8_t*, int, BFstate*);
+void	bfECBencrypt(uint8_t*, int, BFstate*);
+void	bfECBdecrypt(uint8_t*, int, BFstate*);
 
 /*
  * DES definitions
@@ -95,24 +99,24 @@ enum
 typedef struct DESstate DESstate;
 struct DESstate
 {
-	ulong	setup;
-	uchar	key[8];		/* unexpanded key */
-	ulong	expanded[32];	/* expanded key */
-	uchar	ivec[8];	/* initialization vector */
+	uint32_t	setup;
+	uint8_t	key[8];		/* unexpanded key */
+	uint32_t	expanded[32];	/* expanded key */
+	uint8_t	ivec[8];	/* initialization vector */
 };
 
-void	setupDESstate(DESstate *s, uchar key[8], uchar *ivec);
-void	des_key_setup(uchar[8], ulong[32]);
-void	block_cipher(ulong*, uchar*, int);
-void	desCBCencrypt(uchar*, int, DESstate*);
-void	desCBCdecrypt(uchar*, int, DESstate*);
-void	desECBencrypt(uchar*, int, DESstate*);
-void	desECBdecrypt(uchar*, int, DESstate*);
+void	setupDESstate(DESstate *s, uint8_t key[8], uint8_t *ivec);
+void	des_key_setup(uint8_t[8], uint32_t[32]);
+void	block_cipher(uint32_t*, uint8_t*, int);
+void	desCBCencrypt(uint8_t*, int, DESstate*);
+void	desCBCdecrypt(uint8_t*, int, DESstate*);
+void	desECBencrypt(uint8_t*, int, DESstate*);
+void	desECBdecrypt(uint8_t*, int, DESstate*);
 
 /* for backward compatibility with 7-byte DES key format */
-void	des56to64(uchar *k56, uchar *k64);
-void	des64to56(uchar *k64, uchar *k56);
-void	key_setup(uchar[7], ulong[32]);
+void	des56to64(uint8_t *k56, uint8_t *k64);
+void	des64to56(uint8_t *k64, uint8_t *k56);
+void	key_setup(uint8_t[7], uint32_t[32]);
 
 /* triple des encrypt/decrypt orderings */
 enum {
@@ -127,18 +131,18 @@ enum {
 typedef struct DES3state DES3state;
 struct DES3state
 {
-	ulong	setup;
-	uchar	key[3][8];		/* unexpanded key */
-	ulong	expanded[3][32];	/* expanded key */
-	uchar	ivec[8];		/* initialization vector */
+	uint32_t	setup;
+	uint8_t	key[3][8];		/* unexpanded key */
+	uint32_t	expanded[3][32];	/* expanded key */
+	uint8_t	ivec[8];		/* initialization vector */
 };
 
-void	setupDES3state(DES3state *s, uchar key[3][8], uchar *ivec);
-void	triple_block_cipher(ulong keys[3][32], uchar*, int);
-void	des3CBCencrypt(uchar*, int, DES3state*);
-void	des3CBCdecrypt(uchar*, int, DES3state*);
-void	des3ECBencrypt(uchar*, int, DES3state*);
-void	des3ECBdecrypt(uchar*, int, DES3state*);
+void	setupDES3state(DES3state *s, uint8_t key[3][8], uint8_t *ivec);
+void	triple_block_cipher(uint32_t keys[3][32], uint8_t*, int);
+void	des3CBCencrypt(uint8_t*, int, DES3state*);
+void	des3CBCdecrypt(uint8_t*, int, DES3state*);
+void	des3ECBencrypt(uint8_t*, int, DES3state*);
+void	des3ECBdecrypt(uint8_t*, int, DES3state*);
 
 /*
  * digests
@@ -161,15 +165,15 @@ enum
 typedef struct DigestState DigestState;
 struct DigestState
 {
-	uvlong	len;
+	uint64_t	len;
 	union {
-		u32int	state[8];
-		u64int	bstate[8];
+		uint32_t	state[8];
+		uint64_t	bstate[8];
 	};
-	uchar	buf[256];
+	uint8_t	buf[256];
 	int	blen;
-	char	malloced;
-	char	seeded;
+	int8_t	malloced;
+	int8_t	seeded;
 };
 typedef struct DigestState SHAstate;	/* obsolete name */
 typedef struct DigestState SHA1state;
@@ -181,37 +185,48 @@ typedef struct DigestState MD5state;
 typedef struct DigestState MD4state;
 typedef struct DigestState AEShstate;
 
-DigestState*	md4(uchar*, ulong, uchar*, DigestState*);
-DigestState*	md5(uchar*, ulong, uchar*, DigestState*);
-DigestState*	sha1(uchar*, ulong, uchar*, DigestState*);
-DigestState*	sha2_224(uchar*, ulong, uchar*, DigestState*);
-DigestState*	sha2_256(uchar*, ulong, uchar*, DigestState*);
-DigestState*	sha2_384(uchar*, ulong, uchar*, DigestState*);
-DigestState*	sha2_512(uchar*, ulong, uchar*, DigestState*);
-DigestState*	aes(uchar*, ulong, uchar*, DigestState*);
-DigestState*	hmac_x(uchar *p, ulong len, uchar *key, ulong klen,
-			uchar *digest, DigestState *s,
-			DigestState*(*x)(uchar*, ulong, uchar*, DigestState*),
+DigestState*	md4(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	md5(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	sha1(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	sha2_224(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	sha2_256(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	sha2_384(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	sha2_512(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	aes(uint8_t*, uint32_t, uint8_t*, DigestState*);
+DigestState*	hmac_x(uint8_t *p, uint32_t len, uint8_t *key,
+			   uint32_t klen,
+			uint8_t *digest, DigestState *s,
+			DigestState*(*x)(uint8_t*, uint32_t, uint8_t*, DigestState*),
 			int xlen);
-DigestState*	hmac_md5(uchar*, ulong, uchar*, ulong, uchar*, DigestState*);
-DigestState*	hmac_sha1(uchar*, ulong, uchar*, ulong, uchar*, DigestState*);
-DigestState*	hmac_sha2_224(uchar*, ulong, uchar*, ulong, uchar*, DigestState*);
-DigestState*	hmac_sha2_256(uchar*, ulong, uchar*, ulong, uchar*, DigestState*);
-DigestState*	hmac_sha2_384(uchar*, ulong, uchar*, ulong, uchar*, DigestState*);
-DigestState*	hmac_sha2_512(uchar*, ulong, uchar*, ulong, uchar*, DigestState*);
-DigestState*	hmac_aes(uchar*, ulong, uchar*, ulong, uchar*, DigestState*);
-char*		md5pickle(MD5state*);
-MD5state*	md5unpickle(char*);
-char*		sha1pickle(SHA1state*);
-SHA1state*	sha1unpickle(char*);
+DigestState*	hmac_md5(uint8_t*, uint32_t, uint8_t*, uint32_t,
+			     uint8_t*,
+			     DigestState*);
+DigestState*	hmac_sha1(uint8_t*, uint32_t, uint8_t*, uint32_t,
+			      uint8_t*,
+			      DigestState*);
+DigestState*	hmac_sha2_224(uint8_t*, uint32_t, uint8_t*, uint32_t,
+				  uint8_t*, DigestState*);
+DigestState*	hmac_sha2_256(uint8_t*, uint32_t, uint8_t*, uint32_t,
+				  uint8_t*, DigestState*);
+DigestState*	hmac_sha2_384(uint8_t*, uint32_t, uint8_t*, uint32_t,
+				  uint8_t*, DigestState*);
+DigestState*	hmac_sha2_512(uint8_t*, uint32_t, uint8_t*, uint32_t,
+				  uint8_t*, DigestState*);
+DigestState*	hmac_aes(uint8_t*, uint32_t, uint8_t*, uint32_t,
+			     uint8_t*,
+			     DigestState*);
+int8_t*		md5pickle(MD5state*);
+MD5state*	md5unpickle(int8_t*);
+int8_t*		sha1pickle(SHA1state*);
+SHA1state*	sha1unpickle(int8_t*);
 
 /*
  * random number generation
  */
-void	genrandom(uchar *buf, int nbytes);
-void	prng(uchar *buf, int nbytes);
-ulong	fastrand(void);
-ulong	nfastrand(ulong);
+void	genrandom(uint8_t *buf, int nbytes);
+void	prng(uint8_t *buf, int nbytes);
+uint32_t	fastrand(void);
+uint32_t	nfastrand(uint32_t);
 
 /*
  * primes
@@ -219,7 +234,7 @@ ulong	nfastrand(ulong);
 void	genprime(mpint *p, int n, int accuracy); /* generate n-bit probable prime */
 void	gensafeprime(mpint *p, mpint *alpha, int n, int accuracy); /* prime & generator */
 void	genstrongprime(mpint *p, int n, int accuracy); /* generate n-bit strong prime */
-void	DSAprimes(mpint *q, mpint *p, uchar seed[SHA1dlen]);
+void	DSAprimes(mpint *q, mpint *p, uint8_t seed[SHA1dlen]);
 int	probably_prime(mpint *n, int nrep);	/* miller-rabin test */
 int	smallprimetest(mpint *p);  /* returns -1 if not prime, 0 otherwise */
 
@@ -229,13 +244,13 @@ int	smallprimetest(mpint *p);  /* returns -1 if not prime, 0 otherwise */
 typedef struct RC4state RC4state;
 struct RC4state
 {
-	 uchar	state[256];
-	 uchar	x;
-	 uchar	y;
+	 uint8_t	state[256];
+	 uint8_t	x;
+	 uint8_t	y;
 };
 
-void	setupRC4state(RC4state*, uchar*, int);
-void	rc4(RC4state*, uchar*, int);
+void	setupRC4state(RC4state*, uint8_t*, int);
+void	rc4(RC4state*, uint8_t*, int);
 void	rc4skip(RC4state*, int);
 void	rc4back(RC4state*, int);
 
@@ -270,7 +285,7 @@ struct RSApriv
 
 struct PEMChain{
 	PEMChain*next;
-	uchar	*pem;
+	uint8_t	*pem;
 	int	pemlen;
 };
 
@@ -283,17 +298,20 @@ void		rsapubfree(RSApub*);
 RSApriv*	rsaprivalloc(void);
 void		rsaprivfree(RSApriv*);
 RSApub*		rsaprivtopub(RSApriv*);
-RSApub*		X509toRSApub(uchar*, int, char*, int);
-uchar*		RSApubtoasn1(RSApub*, int*);
-RSApub*		asn1toRSApub(uchar*, int);
-RSApriv*	asn1toRSApriv(uchar*, int);
-void		asn1dump(uchar *der, int len);
-uchar*		decodePEM(char *s, char *type, int *len, char **new_s);
-PEMChain*	decodepemchain(char *s, char *type);
-uchar*		X509gen(RSApriv *priv, char *subj, ulong valid[2], int *certlen);
-uchar*		X509req(RSApriv *priv, char *subj, int *certlen);
-char*		X509verify(uchar *cert, int ncert, RSApub *pk);
-void		X509dump(uchar *cert, int ncert);
+RSApub*		X509toRSApub(uint8_t*, int, int8_t*, int);
+uint8_t*		RSApubtoasn1(RSApub*, int*);
+RSApub*		asn1toRSApub(uint8_t*, int);
+RSApriv*	asn1toRSApriv(uint8_t*, int);
+void		asn1dump(uint8_t *der, int len);
+uint8_t*		decodePEM(int8_t *s, int8_t *type, int *len,
+				  int8_t **new_s);
+PEMChain*	decodepemchain(int8_t *s, int8_t *type);
+uint8_t*		X509gen(RSApriv *priv, int8_t *subj,
+				uint32_t valid[2],
+			      int *certlen);
+uint8_t*		X509req(RSApriv *priv, int8_t *subj, int *certlen);
+int8_t*		X509verify(uint8_t *cert, int ncert, RSApub *pk);
+void		X509dump(uint8_t *cert, int ncert);
 
 /*
  * elgamal
@@ -375,28 +393,28 @@ void		dsaprivfree(DSApriv*);
 DSAsig*		dsasigalloc(void);
 void		dsasigfree(DSAsig*);
 DSApub*		dsaprivtopub(DSApriv*);
-DSApriv*	asn1toDSApriv(uchar*, int);
+DSApriv*	asn1toDSApriv(uint8_t*, int);
 
 /*
  * TLS
  */
 typedef struct Thumbprint{
 	struct Thumbprint *next;
-	uchar	sha1[SHA1dlen];
+	uint8_t	sha1[SHA1dlen];
 } Thumbprint;
 
 typedef struct TLSconn{
-	char	dir[40];	/* connection directory */
-	uchar	*cert;	/* certificate (local on input, remote on output) */
-	uchar	*sessionID;
+	int8_t	dir[40];	/* connection directory */
+	uint8_t	*cert;	/* certificate (local on input, remote on output) */
+	uint8_t	*sessionID;
 	int	certlen;
 	int	sessionIDlen;
-	int	(*trace)(char*fmt, ...);
+	int	(*trace)(int8_t*fmt, ...);
 	PEMChain*chain;	/* optional extra certificate evidence for servers to present */
-	char	*sessionType;
-	uchar	*sessionKey;
+	int8_t	*sessionType;
+	uint8_t	*sessionKey;
 	int	sessionKeylen;
-	char	*sessionConst;
+	int8_t	*sessionConst;
 } TLSconn;
 
 /* tlshand.c */
@@ -404,10 +422,10 @@ int tlsClient(int fd, TLSconn *c);
 int tlsServer(int fd, TLSconn *c);
 
 /* thumb.c */
-Thumbprint* initThumbprints(char *ok, char *crl);
+Thumbprint* initThumbprints(int8_t *ok, int8_t *crl);
 void	freeThumbprints(Thumbprint *ok);
-int	okThumbprint(uchar *sha1, Thumbprint *ok);
+int	okThumbprint(uint8_t *sha1, Thumbprint *ok);
 
 /* readcert.c */
-uchar	*readcert(char *filename, int *pcertlen);
-PEMChain*readcertchain(char *filename);
+uint8_t	*readcert(int8_t *filename, int *pcertlen);
+PEMChain*readcertchain(int8_t *filename);

+ 114 - 111
sys/include/mach.h

@@ -135,13 +135,13 @@ typedef	struct	Machdata Machdata;
 struct Map {
 	int	nsegs;			/* number of segments */
 	struct segment {		/* per-segment map */
-		char	*name;		/* the segment name */
+		int8_t	*name;		/* the segment name */
 		int	fd;		/* file descriptor */
 		int	inuse;		/* in use - not in use */
 		int	cache;		/* should cache reads? */
-		uvlong	b;		/* base */
-		uvlong	e;		/* end */
-		vlong	f;		/* offset within file */
+		uint64_t	b;		/* base */
+		uint64_t	e;		/* end */
+		int64_t	f;		/* offset within file */
 	} seg[1];			/* actually n of these */
 };
 
@@ -151,10 +151,10 @@ struct Map {
 struct Symbol {
 	void 	*handle;		/* used internally - owning func */
 	struct {
-		char	*name;
-		vlong	value;		/* address or stack offset */
-		char	type;		/* as in a.out.h */
-		char	class;		/* as above */
+		int8_t	*name;
+		int64_t	value;		/* address or stack offset */
+		int8_t	type;		/* as in a.out.h */
+		int8_t	class;		/* as above */
 		int	index;		/* in findlocal, globalsym, textsym */
 	};
 };
@@ -163,10 +163,10 @@ struct Symbol {
  *	machine register description
  */
 struct Reglist {
-	char	*rname;			/* register name */
-	short	roffs;			/* offset in u-block */
-	char	rflags;			/* INTEGER/FLOAT, WRITABLE */
-	char	rformat;		/* print format: 'x', 'X', 'f', '8', '3', 'Y', 'W' */
+	int8_t	*rname;			/* register name */
+	int16_t	roffs;			/* offset in u-block */
+	int8_t	rflags;			/* INTEGER/FLOAT, WRITABLE */
+	int8_t	rformat;		/* print format: 'x', 'X', 'f', '8', '3', 'Y', 'W' */
 };
 
 enum {					/* bits in rflags field */
@@ -186,20 +186,20 @@ enum {					/* bits in rflags field */
  *		and set in the debugger startup.
  */
 struct Mach{
-	char	*name;
+	int8_t	*name;
 	int	mtype;			/* machine type code */
 	Reglist *reglist;		/* register set */
-	long	regsize;		/* sizeof registers in bytes */
-	long	fpregsize;		/* sizeof fp registers in bytes */
-	char	*pc;			/* pc name */
-	char	*sp;			/* sp name */
-	char	*link;			/* link register name */
-	char	*sbreg;			/* static base register name */
-	uvlong	sb;			/* static base register value */
+	int32_t	regsize;		/* sizeof registers in bytes */
+	int32_t	fpregsize;		/* sizeof fp registers in bytes */
+	int8_t	*pc;			/* pc name */
+	int8_t	*sp;			/* sp name */
+	int8_t	*link;			/* link register name */
+	int8_t	*sbreg;			/* static base register name */
+	uint64_t	sb;			/* static base register value */
 	int	pgsize;			/* page size */
-	uvlong	kbase;			/* kernel base address */
-	uvlong	ktmask;			/* ktzero = kbase & ~ktmask */
-	uvlong	utop;			/* user stack top */
+	uint64_t	kbase;			/* kernel base address */
+	uint64_t	ktmask;			/* ktzero = kbase & ~ktmask */
+	uint64_t	utop;			/* user stack top */
 	int	pcquant;		/* quantization of pc */
 	int	szaddr;			/* sizeof(void*) */
 	int	szreg;			/* sizeof(register) */
@@ -209,26 +209,27 @@ struct Mach{
 
 extern	Mach	*mach;			/* Current machine */
 
-typedef uvlong	(*Rgetter)(Map*, char*);
-typedef	void	(*Tracer)(Map*, uvlong, uvlong, Symbol*);
+typedef uint64_t	(*Rgetter)(Map*, int8_t*);
+typedef	void	(*Tracer)(Map*, uint64_t, uint64_t, Symbol*);
 
 struct	Machdata {		/* Machine-dependent debugger support */
-	uchar	bpinst[4];			/* break point instr. */
-	short	bpsize;				/* size of break point instr. */
+	uint8_t	bpinst[4];			/* break point instr. */
+	int16_t	bpsize;				/* size of break point instr. */
 
-	ushort	(*swab)(ushort);		/* ushort to local byte order */
-	ulong	(*swal)(ulong);			/* ulong to local byte order */
-	uvlong	(*swav)(uvlong);		/* uvlong to local byte order */
-	int	(*ctrace)(Map*, uvlong, uvlong, uvlong, Tracer); /* C traceback */
-	uvlong	(*findframe)(Map*, uvlong, uvlong, uvlong, uvlong);/* frame finder */
-	char*	(*excep)(Map*, Rgetter);	/* last exception */
-	ulong	(*bpfix)(uvlong);		/* breakpoint fixup */
-	int	(*sftos)(char*, int, void*);	/* single precision float */
-	int	(*dftos)(char*, int, void*);	/* double precision float */
-	int	(*foll)(Map*, uvlong, Rgetter, uvlong*);/* follow set */
-	int	(*das)(Map*, uvlong, char, char*, int);	/* symbolic disassembly */
-	int	(*hexinst)(Map*, uvlong, char*, int); 	/* hex disassembly */
-	int	(*instsize)(Map*, uvlong);	/* instruction size */
+	uint16_t	(*swab)(uint16_t);		/* ushort to local byte order */
+	uint32_t	(*swal)(uint32_t);			/* ulong to local byte order */
+	uint64_t	(*swav)(uint64_t);		/* uvlong to local byte order */
+	int	(*ctrace)(Map*, uint64_t, uint64_t, uint64_t, Tracer); /* C traceback */
+	uint64_t	(*findframe)(Map*, uint64_t, uint64_t, uint64_t,
+				     uint64_t);/* frame finder */
+	int8_t*	(*excep)(Map*, Rgetter);	/* last exception */
+	uint32_t	(*bpfix)(uint64_t);		/* breakpoint fixup */
+	int	(*sftos)(int8_t*, int, void*);	/* single precision float */
+	int	(*dftos)(int8_t*, int, void*);	/* double precision float */
+	int	(*foll)(Map*, uint64_t, Rgetter, uint64_t*);/* follow set */
+	int	(*das)(Map*, uint64_t, int8_t, int8_t*, int);	/* symbolic disassembly */
+	int	(*hexinst)(Map*, uint64_t, int8_t*, int); 	/* hex disassembly */
+	int	(*instsize)(Map*, uint64_t);	/* instruction size */
 };
 
 /*
@@ -236,94 +237,96 @@ struct	Machdata {		/* Machine-dependent debugger support */
  */
 typedef struct Fhdr
 {
-	char	*name;		/* identifier of executable */
-	uchar	type;		/* file type - see codes above */
-	uchar	hdrsz;		/* header size */
-	uchar	_magic;		/* _MAGIC() magic */
-	uchar	spare;
-	long	magic;		/* magic number */
-	uvlong	txtaddr;	/* text address */
-	vlong	txtoff;		/* start of text in file */
-	uvlong	dataddr;	/* start of data segment */
-	vlong	datoff;		/* offset to data seg in file */
-	vlong	symoff;		/* offset of symbol table in file */
-	uvlong	entry;		/* entry point */
-	vlong	sppcoff;	/* offset of sp-pc table in file */
-	vlong	lnpcoff;	/* offset of line number-pc table in file */
-	long	txtsz;		/* text size */
-	long	datsz;		/* size of data seg */
-	long	bsssz;		/* size of bss */
-	long	symsz;		/* size of symbol table */
-	long	sppcsz;		/* size of sp-pc table */
-	long	lnpcsz;		/* size of line number-pc table */
+	int8_t	*name;		/* identifier of executable */
+	uint8_t	type;		/* file type - see codes above */
+	uint8_t	hdrsz;		/* header size */
+	uint8_t	_magic;		/* _MAGIC() magic */
+	uint8_t	spare;
+	int32_t	magic;		/* magic number */
+	uint64_t	txtaddr;	/* text address */
+	int64_t	txtoff;		/* start of text in file */
+	uint64_t	dataddr;	/* start of data segment */
+	int64_t	datoff;		/* offset to data seg in file */
+	int64_t	symoff;		/* offset of symbol table in file */
+	uint64_t	entry;		/* entry point */
+	int64_t	sppcoff;	/* offset of sp-pc table in file */
+	int64_t	lnpcoff;	/* offset of line number-pc table in file */
+	int32_t	txtsz;		/* text size */
+	int32_t	datsz;		/* size of data seg */
+	int32_t	bsssz;		/* size of bss */
+	int32_t	symsz;		/* size of symbol table */
+	int32_t	sppcsz;		/* size of sp-pc table */
+	int32_t	lnpcsz;		/* size of line number-pc table */
 } Fhdr;
 
 extern	int	asstype;	/* dissembler type - machdata.c */
 extern	Machdata *machdata;	/* jump vector - machdata.c */
 
 Map*		attachproc(int, int, int, Fhdr*);
-int		beieee80ftos(char*, int, void*);
-int		beieeesftos(char*, int, void*);
-int		beieeedftos(char*, int, void*);
-ushort		beswab(ushort);
-ulong		beswal(ulong);
-uvlong		beswav(uvlong);
-uvlong		ciscframe(Map*, uvlong, uvlong, uvlong, uvlong);
-int		cisctrace(Map*, uvlong, uvlong, uvlong, Tracer);
+int		beieee80ftos(int8_t*, int, void*);
+int		beieeesftos(int8_t*, int, void*);
+int		beieeedftos(int8_t*, int, void*);
+uint16_t		beswab(uint16_t);
+uint32_t		beswal(uint32_t);
+uint64_t		beswav(uint64_t);
+uint64_t		ciscframe(Map*, uint64_t, uint64_t, uint64_t,
+				  uint64_t);
+int		cisctrace(Map*, uint64_t, uint64_t, uint64_t, Tracer);
 int		crackhdr(int fd, Fhdr*);
-uvlong		file2pc(char*, long);
-int		fileelem(Sym**, uchar *, char*, int);
-long		fileline(char*, int, uvlong);
-int		filesym(int, char*, int);
-int		findlocal(Symbol*, char*, Symbol*);
-int		findseg(Map*, char*);
-int		findsym(uvlong, int, Symbol *);
-int		fnbound(uvlong, uvlong*);
-int		fpformat(Map*, Reglist*, char*, int, int);
-int		get1(Map*, uvlong, uchar*, int);
-int		get2(Map*, uvlong, ushort*);
-int		get4(Map*, uvlong, ulong*);
-int		get8(Map*, uvlong, uvlong*);
-int		geta(Map*, uvlong, uvlong*);
+uint64_t		file2pc(int8_t*, int32_t);
+int		fileelem(Sym**, uint8_t *, int8_t*, int);
+int32_t		fileline(int8_t*, int, uint64_t);
+int		filesym(int, int8_t*, int);
+int		findlocal(Symbol*, int8_t*, Symbol*);
+int		findseg(Map*, int8_t*);
+int		findsym(uint64_t, int, Symbol *);
+int		fnbound(uint64_t, uint64_t*);
+int		fpformat(Map*, Reglist*, int8_t*, int, int);
+int		get1(Map*, uint64_t, uint8_t*, int);
+int		get2(Map*, uint64_t, uint16_t*);
+int		get4(Map*, uint64_t, uint32_t*);
+int		get8(Map*, uint64_t, uint64_t*);
+int		geta(Map*, uint64_t, uint64_t*);
 int		getauto(Symbol*, int, int, Symbol*);
 Sym*		getsym(int);
 int		globalsym(Symbol *, int);
-char*		_hexify(char*, ulong, int);
-int		ieeesftos(char*, int, ulong);
-int		ieeedftos(char*, int, ulong, ulong);
+int8_t*		_hexify(int8_t*, uint32_t, int);
+int		ieeesftos(int8_t*, int, uint32_t);
+int		ieeedftos(int8_t*, int, uint32_t, uint32_t);
 int		isar(Biobuf*);
-int		leieee80ftos(char*, int, void*);
-int		leieeesftos(char*, int, void*);
-int		leieeedftos(char*, int, void*);
-ushort		leswab(ushort);
-ulong		leswal(ulong);
-uvlong		leswav(uvlong);
-uvlong		line2addr(long, uvlong, uvlong);
+int		leieee80ftos(int8_t*, int, void*);
+int		leieeesftos(int8_t*, int, void*);
+int		leieeedftos(int8_t*, int, void*);
+uint16_t		leswab(uint16_t);
+uint32_t		leswal(uint32_t);
+uint64_t		leswav(uint64_t);
+uint64_t		line2addr(int32_t, uint64_t, uint64_t);
 Map*		loadmap(Map*, int, Fhdr*);
-int		localaddr(Map*, char*, char*, uvlong*, Rgetter);
+int		localaddr(Map*, int8_t*, int8_t*, uint64_t*, Rgetter);
 int		localsym(Symbol*, int);
-int		lookup(char*, char*, Symbol*);
+int		lookup(int8_t*, int8_t*, Symbol*);
 void		machbytype(int);
-int		machbyname(char*);
-int		nextar(Biobuf*, int, char*);
+int		machbyname(int8_t*);
+int		nextar(Biobuf*, int, int8_t*);
 Map*		newmap(Map*, int);
 void		objtraverse(void(*)(Sym*, void*), void*);
-int		objtype(Biobuf*, char**);
-uvlong		pc2sp(uvlong);
-long		pc2line(uvlong);
-int		put1(Map*, uvlong, uchar*, int);
-int		put2(Map*, uvlong, ushort);
-int		put4(Map*, uvlong, ulong);
-int		put8(Map*, uvlong, uvlong);
-int		puta(Map*, uvlong, uvlong);
-int		readar(Biobuf*, int, vlong, int);
+int		objtype(Biobuf*, int8_t**);
+uint64_t		pc2sp(uint64_t);
+int32_t		pc2line(uint64_t);
+int		put1(Map*, uint64_t, uint8_t*, int);
+int		put2(Map*, uint64_t, uint16_t);
+int		put4(Map*, uint64_t, uint32_t);
+int		put8(Map*, uint64_t, uint64_t);
+int		puta(Map*, uint64_t, uint64_t);
+int		readar(Biobuf*, int, int64_t, int);
 int		readobj(Biobuf*, int);
-uvlong		riscframe(Map*, uvlong, uvlong, uvlong, uvlong);
-int		risctrace(Map*, uvlong, uvlong, uvlong, Tracer);
-int		setmap(Map*, int, uvlong, uvlong, vlong, char*);
-Sym*		symbase(long*);
+uint64_t		riscframe(Map*, uint64_t, uint64_t, uint64_t,
+				  uint64_t);
+int		risctrace(Map*, uint64_t, uint64_t, uint64_t, Tracer);
+int		setmap(Map*, int, uint64_t, uint64_t, int64_t, int8_t*);
+Sym*		symbase(int32_t*);
 int		syminit(int, Fhdr*);
-int		symoff(char*, int, uvlong, int);
-void		textseg(uvlong, Fhdr*);
+int		symoff(int8_t*, int, uint64_t, int);
+void		textseg(uint64_t, Fhdr*);
 int		textsym(Symbol*, int);
 void		unusemap(Map*, int);

+ 33 - 31
sys/include/memdraw.h

@@ -29,8 +29,8 @@ typedef struct	Memdrawparam	Memdrawparam;
 
 struct Memdata
 {
-	ulong	*base;	/* allocated data pointer */
-	uchar	*bdata;	/* pointer to first byte of actual data; word-aligned */
+	uint32_t	*base;	/* allocated data pointer */
+	uint8_t	*bdata;	/* pointer to first byte of actual data; word-aligned */
 	int		ref;		/* number of Memimages using this data */
 	void*	imref;
 	int		allocd;	/* is this malloc'd? */
@@ -51,14 +51,14 @@ struct Memimage
 	Rectangle	clipr;		/* clipping region */
 	int		depth;	/* number of bits of storage per pixel */
 	int		nchan;	/* number of channels */
-	ulong	chan;	/* channel descriptions */
+	uint32_t	chan;	/* channel descriptions */
 	Memcmap	*cmap;
 
 	Memdata	*data;	/* pointer to data; shared by windows in this image */
 	int		zero;		/* data->bdata+zero==&byte containing (0,0) */
-	ulong	width;	/* width in words of a single scan line */
+	uint32_t	width;	/* width in words of a single scan line */
 	Memlayer	*layer;	/* nil if not a layer*/
-	ulong	flags;
+	uint32_t	flags;
 
 	int		shift[NChan];
 	int		mask[NChan];
@@ -67,8 +67,8 @@ struct Memimage
 
 struct Memcmap
 {
-	uchar	cmap2rgb[3*256];
-	uchar	rgb2cmap[16*16*16];
+	uint8_t	cmap2rgb[3*256];
+	uint8_t	rgb2cmap[16*16*16];
 };
 
 /*
@@ -85,10 +85,10 @@ struct Memcmap
 
 struct	Memsubfont
 {
-	char		*name;
-	short	n;		/* number of chars in font */
-	uchar	height;		/* height of bitmap */
-	char	ascent;		/* top of bitmap to baseline */
+	int8_t		*name;
+	int16_t	n;		/* number of chars in font */
+	uint8_t	height;		/* height of bitmap */
+	int8_t	ascent;		/* top of bitmap to baseline */
 	Fontchar *info;		/* n+1 character descriptors */
 	Memimage	*bits;		/* of font */
 };
@@ -113,32 +113,32 @@ struct	Memdrawparam
 	Rectangle mr;
 	int op;
 
-	ulong state;
-	ulong mval;	/* if Simplemask, the mask pixel in mask format */
-	ulong mrgba;	/* mval in rgba */
-	ulong sval;	/* if Simplesrc, the source pixel in src format */
-	ulong srgba;	/* sval in rgba */
-	ulong sdval;	/* sval in dst format */
+	uint32_t state;
+	uint32_t mval;	/* if Simplemask, the mask pixel in mask format */
+	uint32_t mrgba;	/* mval in rgba */
+	uint32_t sval;	/* if Simplesrc, the source pixel in src format */
+	uint32_t srgba;	/* sval in rgba */
+	uint32_t sdval;	/* sval in dst format */
 };
 
 /*
  * Memimage management
  */
 
-extern Memimage*	allocmemimage(Rectangle, ulong);
-extern Memimage*	allocmemimaged(Rectangle, ulong, Memdata*);
+extern Memimage*	allocmemimage(Rectangle, uint32_t);
+extern Memimage*	allocmemimaged(Rectangle, uint32_t, Memdata*);
 extern Memimage*	readmemimage(int);
 extern Memimage*	creadmemimage(int);
 extern int	writememimage(int, Memimage*);
 extern void	freememimage(Memimage*);
-extern int		loadmemimage(Memimage*, Rectangle, uchar*, int);
-extern int		cloadmemimage(Memimage*, Rectangle, uchar*, int);
-extern int		unloadmemimage(Memimage*, Rectangle, uchar*, int);
-extern ulong*	wordaddr(Memimage*, Point);
-extern uchar*	byteaddr(Memimage*, Point);
+extern int		loadmemimage(Memimage*, Rectangle, uint8_t*, int);
+extern int		cloadmemimage(Memimage*, Rectangle, uint8_t*, int);
+extern int		unloadmemimage(Memimage*, Rectangle, uint8_t*, int);
+extern uint32_t*	wordaddr(Memimage*, Point);
+extern uint8_t*	byteaddr(Memimage*, Point);
 extern int		drawclip(Memimage*, Rectangle*, Memimage*, Point*, Memimage*, Point*, Rectangle*, Rectangle*);
-extern void	memfillcolor(Memimage*, ulong);
-extern int		memsetchan(Memimage*, ulong);
+extern void	memfillcolor(Memimage*, uint32_t);
+extern int		memsetchan(Memimage*, uint32_t);
 
 /*
  * Graphics
@@ -152,7 +152,8 @@ extern void	memimagedraw(Memimage*, Rectangle, Memimage*, Point, Memimage*, Poin
 extern int	hwdraw(Memdrawparam*);
 extern void	memimageline(Memimage*, Point, Point, int, int, int, Memimage*, Point, int);
 extern void	_memimageline(Memimage*, Point, Point, int, int, int, Memimage*, Point, Rectangle, int);
-extern Point	memimagestring(Memimage*, Point, Memimage*, Point, Memsubfont*, char*);
+extern Point	memimagestring(Memimage*, Point, Memimage*, Point, Memsubfont*,
+				   int8_t*);
 extern void	memellipse(Memimage*, Point, int, int, int, Memimage*, Point, int);
 extern void	memarc(Memimage*, Point, int, int, int, Memimage*, Point, int, int, int);
 extern Rectangle	memlinebbox(Point, Point, int, int, int);
@@ -163,10 +164,11 @@ extern void	memimageinit(void);
 /*
  * Subfont management
  */
-extern Memsubfont*	allocmemsubfont(char*, int, int, int, Fontchar*, Memimage*);
-extern Memsubfont*	openmemsubfont(char*);
+extern Memsubfont*	allocmemsubfont(int8_t*, int, int, int,
+					  Fontchar*, Memimage*);
+extern Memsubfont*	openmemsubfont(int8_t*);
 extern void	freememsubfont(Memsubfont*);
-extern Point	memsubfontwidth(Memsubfont*, char*);
+extern Point	memsubfontwidth(Memsubfont*, int8_t*);
 extern Memsubfont*	getmemdefont(void);
 
 /*
@@ -187,7 +189,7 @@ void		memimagemove(void*, void*);
  * Kernel cruft
  */
 extern void	rdb(void);
-extern int		iprint(char*, ...);
+extern int		iprint(int8_t*, ...);
 #pragma varargck argpos iprint 1
 extern int		drawdebug;
 

+ 3 - 3
sys/include/memlayer.h

@@ -37,14 +37,14 @@ struct Memlayer
 /*
  * These functions accept local coordinates
  */
-int			memload(Memimage*, Rectangle, uchar*, int, int);
-int			memunload(Memimage*, Rectangle, uchar*, int);
+int			memload(Memimage*, Rectangle, uint8_t*, int, int);
+int			memunload(Memimage*, Rectangle, uint8_t*, int);
 
 /*
  * All these functions accept screen coordinates, not local ones.
  */
 void			_memlayerop(void (*fn)(Memimage*, Rectangle, Rectangle, void*, int), Memimage*, Rectangle, Rectangle, void*);
-Memimage*	memlalloc(Memscreen*, Rectangle, Refreshfn, void*, ulong);
+Memimage*	memlalloc(Memscreen*, Rectangle, Refreshfn, void*, uint32_t);
 void			memldelete(Memimage*);
 void			memlfree(Memimage*);
 void			memltofront(Memimage*);

+ 4 - 4
sys/include/mouse.h

@@ -18,7 +18,7 @@ struct	Mouse
 {
 	int	buttons;	/* bit array: LMR=124 */
 	Point	xy;
-	ulong	msec;
+	uint32_t	msec;
 };
 
 struct Mousectl
@@ -37,15 +37,15 @@ struct Mousectl
 
 struct Menu
 {
-	char	**item;
-	char	*(*gen)(int);
+	int8_t	**item;
+	int8_t	*(*gen)(int);
 	int	lasthit;
 };
 
 /*
  * Mouse
  */
-extern Mousectl*	initmouse(char*, Image*);
+extern Mousectl*	initmouse(int8_t*, Image*);
 extern void		moveto(Mousectl*, Point);
 extern int			readmouse(Mousectl*);
 extern void		closemouse(Mousectl*);

+ 12 - 12
sys/include/mp.h

@@ -26,7 +26,7 @@ struct mpint
 	int	size;	/* allocated digits */
 	int	top;	/* significant digits */
 	mpdigit	*p;
-	char	flags;
+	int8_t	flags;
 };
 
 enum
@@ -46,24 +46,24 @@ mpint*	mpcopy(mpint *b);
 void	mpassign(mpint *old, mpint *new);
 
 /* random bits */
-mpint*	mprand(int bits, void (*gen)(uchar*, int), mpint *b);
+mpint*	mprand(int bits, void (*gen)(uint8_t*, int), mpint *b);
 
 /* conversion */
-mpint*	strtomp(char*, char**, int, mpint*);	/* ascii */
+mpint*	strtomp(int8_t*, int8_t**, int, mpint*);	/* ascii */
 int	mpfmt(Fmt*);
-char*	mptoa(mpint*, int, char*, int);
-mpint*	letomp(uchar*, uint, mpint*);	/* byte array, little-endian */
-int	mptole(mpint*, uchar*, uint, uchar**);
-mpint*	betomp(uchar*, uint, mpint*);	/* byte array, little-endian */
-int	mptobe(mpint*, uchar*, uint, uchar**);
+int8_t*	mptoa(mpint*, int, int8_t*, int);
+mpint*	letomp(uint8_t*, uint, mpint*);	/* byte array, little-endian */
+int	mptole(mpint*, uint8_t*, uint, uint8_t**);
+mpint*	betomp(uint8_t*, uint, mpint*);	/* byte array, little-endian */
+int	mptobe(mpint*, uint8_t*, uint, uint8_t**);
 uint	mptoui(mpint*);			/* unsigned int */
 mpint*	uitomp(uint, mpint*);
 int	mptoi(mpint*);			/* int */
 mpint*	itomp(int, mpint*);
-uvlong	mptouv(mpint*);			/* unsigned vlong */
-mpint*	uvtomp(uvlong, mpint*);
-vlong	mptov(mpint*);			/* vlong */
-mpint*	vtomp(vlong, mpint*);
+uint64_t	mptouv(mpint*);			/* unsigned vlong */
+mpint*	uvtomp(uint64_t, mpint*);
+int64_t	mptov(mpint*);			/* vlong */
+mpint*	vtomp(int64_t, mpint*);
 
 /* divide 2 digits by one */
 void	mpdigdiv(mpdigit *dividend, mpdigit divisor, mpdigit *quotient);

+ 29 - 27
sys/include/ndb.h

@@ -36,12 +36,12 @@ struct Ndb
 	Ndb		*next;
 
 	Biobufhdr	b;		/* buffered input file */
-	uchar		buf[256];	/* and its buffer */
+	uint8_t		buf[256];	/* and its buffer */
 
-	ulong		mtime;		/* mtime of db file */
+	uint32_t		mtime;		/* mtime of db file */
 	Qid		qid;		/* qid of db file */
-	char		file[128];/* path name of db file */
-	ulong		length;		/* length of db file */
+	int8_t		file[128];/* path name of db file */
+	uint32_t		length;		/* length of db file */
 
 	int		nohash;		/* don't look for hash files */
 	Ndbhf		*hf;		/* open hash files */
@@ -55,12 +55,12 @@ struct Ndb
  */
 struct Ndbtuple
 {
-	char		attr[Ndbalen];		/* attribute name */
-	char		*val;			/* value(s) */
+	int8_t		attr[Ndbalen];		/* attribute name */
+	int8_t		*val;			/* value(s) */
 	Ndbtuple	*entry;			/* next tuple in this entry */
 	Ndbtuple	*line;			/* next tuple on this line */
-	ulong		ptr;			/* (for the application - starts 0) */
-	char		valbuf[Ndbvlen];	/* initial allocation for value */
+	uint32_t		ptr;			/* (for the application - starts 0) */
+	int8_t		valbuf[Ndbvlen];	/* initial allocation for value */
 };
 
 /*
@@ -107,8 +107,8 @@ struct Ndbs
 	Ndb	*db;	/* data base file being searched */
 	Ndbhf	*hf;	/* hash file being searched */
 	int	type;
-	ulong	ptr;	/* current pointer */
-	ulong	ptr1;	/* next pointer */
+	uint32_t	ptr;	/* current pointer */
+	uint32_t	ptr1;	/* next pointer */
 	Ndbtuple *t;	/* last attribute value pair found */
 };
 
@@ -133,31 +133,33 @@ struct Ndbs
 
 #define NDB_IPlen 16
 
-Ndbtuple*	csgetval(char*, char*, char*, char*, char*);
-char*		csgetvalue(char*, char*, char*, char*, Ndbtuple**);
-Ndbtuple*	csipinfo(char*, char*, char*, char**, int);
-Ndbtuple*	dnsquery(char*, char*, char*);
-char*		ipattr(char*);
+Ndbtuple*	csgetval(int8_t*, int8_t*, int8_t*, int8_t*, int8_t*);
+int8_t*		csgetvalue(int8_t*, int8_t*, int8_t*, int8_t*,
+				  Ndbtuple**);
+Ndbtuple*	csipinfo(int8_t*, int8_t*, int8_t*, int8_t**, int);
+Ndbtuple*	dnsquery(int8_t*, int8_t*, int8_t*);
+int8_t*		ipattr(int8_t*);
 Ndb*		ndbcat(Ndb*, Ndb*);
 int		ndbchanged(Ndb*);
 void		ndbclose(Ndb*);
 Ndbtuple*	ndbconcatenate(Ndbtuple*, Ndbtuple*);
 Ndbtuple*	ndbdiscard(Ndbtuple*, Ndbtuple*);
 void		ndbfree(Ndbtuple*);
-Ndbtuple*	ndbgetipaddr(Ndb*, char*);
-Ndbtuple*	ndbgetval(Ndb*, Ndbs*, char*, char*, char*, char*);
-char*		ndbgetvalue(Ndb*, Ndbs*, char*, char*, char*, Ndbtuple**);
-Ndbtuple*	ndbfindattr(Ndbtuple*, Ndbtuple*, char*);
-ulong		ndbhash(char*, int);
-Ndbtuple*	ndbipinfo(Ndb*, char*, char*, char**, int);
-Ndbtuple*	ndblookval(Ndbtuple*, Ndbtuple*, char*, char*);
-Ndbtuple*	ndbnew(char*, char*);
-Ndb*		ndbopen(char*);
+Ndbtuple*	ndbgetipaddr(Ndb*, int8_t*);
+Ndbtuple*	ndbgetval(Ndb*, Ndbs*, int8_t*, int8_t*, int8_t*, int8_t*);
+int8_t*		ndbgetvalue(Ndb*, Ndbs*, int8_t*, int8_t*, int8_t*,
+				   Ndbtuple**);
+Ndbtuple*	ndbfindattr(Ndbtuple*, Ndbtuple*, int8_t*);
+uint32_t		ndbhash(int8_t*, int);
+Ndbtuple*	ndbipinfo(Ndb*, int8_t*, int8_t*, int8_t**, int);
+Ndbtuple*	ndblookval(Ndbtuple*, Ndbtuple*, int8_t*, int8_t*);
+Ndbtuple*	ndbnew(int8_t*, int8_t*);
+Ndb*		ndbopen(int8_t*);
 Ndbtuple*	ndbparse(Ndb*);
 int		ndbreopen(Ndb*);
 Ndbtuple*	ndbreorder(Ndbtuple*, Ndbtuple*);
-Ndbtuple*	ndbsearch(Ndb*, Ndbs*, char*, char*);
-void		ndbsetval(Ndbtuple*, char*, int);
-Ndbtuple*	ndbsnext(Ndbs*, char*, char*);
+Ndbtuple*	ndbsearch(Ndb*, Ndbs*, int8_t*, int8_t*);
+void		ndbsetval(Ndbtuple*, int8_t*, int);
+Ndbtuple*	ndbsnext(Ndbs*, int8_t*, int8_t*);
 Ndbtuple*	ndbsubstitute(Ndbtuple*, Ndbtuple*, Ndbtuple*);
 void		ndbsetmalloctag(Ndbtuple*, uintptr);

+ 132 - 131
sys/include/nfs3.h

@@ -71,16 +71,16 @@ struct NfsMount3RNull {
 
 struct NfsMount3TMnt {
 	NfsMount3Call call;
-	char *path;
+	int8_t *path;
 };
 
 struct NfsMount3RMnt {
 	NfsMount3Call call;
 	uint status;
-	uchar *handle;
+	uint8_t *handle;
 	uint len;
-	u32int *auth;
-	u32int nauth;
+	uint32_t *auth;
+	uint32_t nauth;
 };
 
 struct NfsMount3TDump {
@@ -88,19 +88,19 @@ struct NfsMount3TDump {
 };
 
 struct NfsMount3Entry {
-	char *host;
-	char *path;
+	int8_t *host;
+	int8_t *path;
 };
 
 struct NfsMount3RDump {
 	NfsMount3Call call;
-	uchar *data;
-	u32int count;
+	uint8_t *data;
+	uint32_t count;
 };
 
 struct NfsMount3TUmnt {
 	NfsMount3Call call;
-	char *path;
+	int8_t *path;
 };
 
 struct NfsMount3RUmnt {
@@ -108,9 +108,9 @@ struct NfsMount3RUmnt {
 };
 
 struct NfsMount3Export {
-	char *path;
-	char **g;
-	u32int ng;
+	int8_t *path;
+	int8_t **g;
+	uint32_t ng;
 };
 
 struct NfsMount3TUmntall {
@@ -127,16 +127,17 @@ struct NfsMount3TExport {
 
 struct NfsMount3RExport {
 	NfsMount3Call call;
-	uchar *data;
-	u32int count;
+	uint8_t *data;
+	uint32_t count;
 };
 
-uint nfsMount3ExportGroupSize(uchar*);
+uint nfsMount3ExportGroupSize(uint8_t*);
 uint nfsMount3ExportSize(NfsMount3Export*);
-int nfsMount3ExportPack(uchar*, uchar*, uchar**, NfsMount3Export*);
-int nfsMount3ExportUnpack(uchar*, uchar*, uchar**, char**, char***, NfsMount3Export*);
-int nfsMount3EntryPack(uchar*, uchar*, uchar**, NfsMount3Entry*);
-int nfsMount3EntryUnpack(uchar*, uchar*, uchar**, NfsMount3Entry*);
+int nfsMount3ExportPack(uint8_t*, uint8_t*, uint8_t**, NfsMount3Export*);
+int nfsMount3ExportUnpack(uint8_t*, uint8_t*, uint8_t**, int8_t**, int8_t***,
+			  NfsMount3Export*);
+int nfsMount3EntryPack(uint8_t*, uint8_t*, uint8_t**, NfsMount3Entry*);
+int nfsMount3EntryUnpack(uint8_t*, uint8_t*, uint8_t**, NfsMount3Entry*);
 uint nfsMount3EntrySize(NfsMount3Entry*);
 
 extern SunProg nfsMount3Prog;
@@ -348,34 +349,34 @@ struct Nfs3Call {
 };
 
 struct Nfs3Handle {
-	uchar h[Nfs3MaxHandleSize];
-	u32int len;
+	uint8_t h[Nfs3MaxHandleSize];
+	uint32_t len;
 };
 
 struct Nfs3Time {
-	u32int sec;
-	u32int nsec;
+	uint32_t sec;
+	uint32_t nsec;
 };
 
 struct Nfs3Attr {
 	Nfs3FileType type;
-	u32int mode;
-	u32int nlink;
-	u32int uid;
-	u32int gid;
-	u64int size;
-	u64int used;
-	u32int major;
-	u32int minor;
-	u64int fsid;
-	u64int fileid;
+	uint32_t mode;
+	uint32_t nlink;
+	uint32_t uid;
+	uint32_t gid;
+	uint64_t size;
+	uint64_t used;
+	uint32_t major;
+	uint32_t minor;
+	uint64_t fsid;
+	uint64_t fileid;
 	Nfs3Time atime;
 	Nfs3Time mtime;
 	Nfs3Time ctime;
 };
 
 struct Nfs3WccAttr {
-	u64int size;
+	uint64_t size;
 	Nfs3Time mtime;
 	Nfs3Time ctime;
 };
@@ -389,13 +390,13 @@ struct Nfs3Wcc {
 
 struct Nfs3SetAttr {
 	u1int setMode;
-	u32int mode;
+	uint32_t mode;
 	u1int setUid;
-	u32int uid;
+	uint32_t uid;
 	u1int setGid;
-	u32int gid;
+	uint32_t gid;
 	u1int setSize;
-	u64int size;
+	uint64_t size;
 	Nfs3SetTime setAtime;
 	Nfs3Time atime;
 	Nfs3SetTime setMtime;
@@ -438,7 +439,7 @@ struct Nfs3RSetattr {
 struct Nfs3TLookup {
 	Nfs3Call call;
 	Nfs3Handle handle;
-	char *name;
+	int8_t *name;
 };
 
 struct Nfs3RLookup {
@@ -454,7 +455,7 @@ struct Nfs3RLookup {
 struct Nfs3TAccess {
 	Nfs3Call call;
 	Nfs3Handle handle;
-	u32int access;
+	uint32_t access;
 };
 
 struct Nfs3RAccess {
@@ -462,7 +463,7 @@ struct Nfs3RAccess {
 	Nfs3Status status;
 	u1int haveAttr;
 	Nfs3Attr attr;
-	u32int access;
+	uint32_t access;
 };
 
 struct Nfs3TReadlink {
@@ -475,14 +476,14 @@ struct Nfs3RReadlink {
 	Nfs3Status status;
 	u1int haveAttr;
 	Nfs3Attr attr;
-	char *data;
+	int8_t *data;
 };
 
 struct Nfs3TRead {
 	Nfs3Call call;
 	Nfs3Handle handle;
-	u64int offset;
-	u32int count;
+	uint64_t offset;
+	uint32_t count;
 };
 
 struct Nfs3RRead {
@@ -490,38 +491,38 @@ struct Nfs3RRead {
 	Nfs3Status status;
 	u1int haveAttr;
 	Nfs3Attr attr;
-	u32int count;
+	uint32_t count;
 	u1int eof;
-	uchar *data;
-	u32int ndata;
+	uint8_t *data;
+	uint32_t ndata;
 };
 
 struct Nfs3TWrite {
 	Nfs3Call call;
 	Nfs3Handle handle;
-	u64int offset;
-	u32int count;
+	uint64_t offset;
+	uint32_t count;
 	Nfs3Sync stable;
-	uchar *data;
-	u32int ndata;
+	uint8_t *data;
+	uint32_t ndata;
 };
 
 struct Nfs3RWrite {
 	Nfs3Call call;
 	Nfs3Status status;
 	Nfs3Wcc wcc;
-	u32int count;
+	uint32_t count;
 	Nfs3Sync committed;
-	uchar verf[Nfs3WriteVerfSize];
+	uint8_t verf[Nfs3WriteVerfSize];
 };
 
 struct Nfs3TCreate {
 	Nfs3Call call;
 	Nfs3Handle handle;
-	char *name;
+	int8_t *name;
 	Nfs3Create mode;
 	Nfs3SetAttr attr;
-	uchar verf[Nfs3CreateVerfSize];
+	uint8_t verf[Nfs3CreateVerfSize];
 };
 
 struct Nfs3RCreate {
@@ -537,7 +538,7 @@ struct Nfs3RCreate {
 struct Nfs3TMkdir {
 	Nfs3Call call;
 	Nfs3Handle handle;
-	char *name;
+	int8_t *name;
 	Nfs3SetAttr attr;
 };
 
@@ -554,9 +555,9 @@ struct Nfs3RMkdir {
 struct Nfs3TSymlink {
 	Nfs3Call call;
 	Nfs3Handle handle;
-	char *name;
+	int8_t *name;
 	Nfs3SetAttr attr;
-	char *data;
+	int8_t *data;
 };
 
 struct Nfs3RSymlink {
@@ -572,11 +573,11 @@ struct Nfs3RSymlink {
 struct Nfs3TMknod {
 	Nfs3Call call;
 	Nfs3Handle handle;
-	char *name;
+	int8_t *name;
 	Nfs3FileType type;
 	Nfs3SetAttr attr;
-	u32int major;
-	u32int minor;
+	uint32_t major;
+	uint32_t minor;
 };
 
 struct Nfs3RMknod {
@@ -592,7 +593,7 @@ struct Nfs3RMknod {
 struct Nfs3TRemove {
 	Nfs3Call call;
 	Nfs3Handle handle;
-	char *name;
+	int8_t *name;
 };
 
 struct Nfs3RRemove {
@@ -604,7 +605,7 @@ struct Nfs3RRemove {
 struct Nfs3TRmdir {
 	Nfs3Call call;
 	Nfs3Handle handle;
-	char *name;
+	int8_t *name;
 };
 
 struct Nfs3RRmdir {
@@ -617,11 +618,11 @@ struct Nfs3TRename {
 	Nfs3Call call;
 	struct {
 		Nfs3Handle handle;
-		char *name;
+		int8_t *name;
 	} from;
 	struct {
 		Nfs3Handle handle;
-		char *name;
+		int8_t *name;
 	} to;
 };
 
@@ -637,7 +638,7 @@ struct Nfs3TLink {
 	Nfs3Handle handle;
 	struct {
 		Nfs3Handle handle;
-		char *name;
+		int8_t *name;
 	} link;
 };
 
@@ -652,9 +653,9 @@ struct Nfs3RLink {
 struct Nfs3TReadDir {
 	Nfs3Call call;
 	Nfs3Handle handle;
-	u64int cookie;
-	uchar verf[Nfs3CookieVerfSize];
-	u32int count;
+	uint64_t cookie;
+	uint8_t verf[Nfs3CookieVerfSize];
+	uint32_t count;
 };
 
 struct Nfs3RReadDir {
@@ -662,25 +663,25 @@ struct Nfs3RReadDir {
 	Nfs3Status status;
 	u1int haveAttr;
 	Nfs3Attr attr;
-	uchar verf[Nfs3CookieVerfSize];
-	uchar *data;
-	u32int count;
+	uint8_t verf[Nfs3CookieVerfSize];
+	uint8_t *data;
+	uint32_t count;
 	u1int eof;
 };
 
 struct Nfs3TReadDirPlus {
 	Nfs3Call call;
 	Nfs3Handle handle;
-	u64int cookie;
-	uchar verf[Nfs3CookieVerfSize];
-	u32int dirCount;
-	u32int maxCount;
+	uint64_t cookie;
+	uint8_t verf[Nfs3CookieVerfSize];
+	uint32_t dirCount;
+	uint32_t maxCount;
 };
 
 struct Nfs3Entry {
-	u64int fileid;
-	char *name;
-	u64int cookie;
+	uint64_t fileid;
+	int8_t *name;
+	uint64_t cookie;
 	u1int haveAttr;
 	Nfs3Attr attr;
 	u1int haveHandle;
@@ -692,9 +693,9 @@ struct Nfs3RReadDirPlus {
 	Nfs3Status status;
 	u1int haveAttr;
 	Nfs3Attr attr;
-	uchar verf[Nfs3CookieVerfSize];
-	uchar *data;
-	u32int count;
+	uint8_t verf[Nfs3CookieVerfSize];
+	uint8_t *data;
+	uint32_t count;
 	u1int eof;
 };
 
@@ -708,13 +709,13 @@ struct Nfs3RFsStat {
 	Nfs3Status status;
 	u1int haveAttr;
 	Nfs3Attr attr;
-	u64int totalBytes;
-	u64int freeBytes;
-	u64int availBytes;
-	u64int totalFiles;
-	u64int freeFiles;
-	u64int availFiles;
-	u32int invarSec;
+	uint64_t totalBytes;
+	uint64_t freeBytes;
+	uint64_t availBytes;
+	uint64_t totalFiles;
+	uint64_t freeFiles;
+	uint64_t availFiles;
+	uint32_t invarSec;
 };
 
 struct Nfs3TFsInfo {
@@ -727,16 +728,16 @@ struct Nfs3RFsInfo {
 	Nfs3Status status;
 	u1int haveAttr;
 	Nfs3Attr attr;
-	u32int readMax;
-	u32int readPref;
-	u32int readMult;
-	u32int writeMax;
-	u32int writePref;
-	u32int writeMult;
-	u32int readDirPref;
-	u64int maxFileSize;
+	uint32_t readMax;
+	uint32_t readPref;
+	uint32_t readMult;
+	uint32_t writeMax;
+	uint32_t writePref;
+	uint32_t writeMult;
+	uint32_t readDirPref;
+	uint64_t maxFileSize;
 	Nfs3Time timePrec;
-	u32int flags;
+	uint32_t flags;
 };
 
 struct Nfs3TPathconf {
@@ -749,8 +750,8 @@ struct Nfs3RPathconf {
 	Nfs3Status status;
 	u1int haveAttr;
 	Nfs3Attr attr;
-	u32int maxLink;
-	u32int maxName;
+	uint32_t maxLink;
+	uint32_t maxName;
 	u1int noTrunc;
 	u1int chownRestricted;
 	u1int caseInsensitive;
@@ -760,61 +761,61 @@ struct Nfs3RPathconf {
 struct Nfs3TCommit {
 	Nfs3Call call;
 	Nfs3Handle handle;
-	u64int offset;
-	u32int count;
+	uint64_t offset;
+	uint32_t count;
 };
 
 struct Nfs3RCommit {
 	Nfs3Call call;
 	Nfs3Status status;
 	Nfs3Wcc wcc;
-	uchar verf[Nfs3WriteVerfSize];
+	uint8_t verf[Nfs3WriteVerfSize];
 };
 
-char *nfs3StatusStr(Nfs3Status);
-char *nfs3TypeStr(Nfs3CallType);
-char *nfs3SetTimeStr(Nfs3SetTime);
-char *nfs3SyncStr(Nfs3Sync);
+int8_t *nfs3StatusStr(Nfs3Status);
+int8_t *nfs3TypeStr(Nfs3CallType);
+int8_t *nfs3SetTimeStr(Nfs3SetTime);
+int8_t *nfs3SyncStr(Nfs3Sync);
 
 void nfs3HandlePrint(Fmt*, Nfs3Handle*);
-u32int nfs3HandleSize(Nfs3Handle*);
-int nfs3HandlePack(uchar*, uchar*, uchar**, Nfs3Handle*);
-int nfs3HandleUnpack(uchar*, uchar*, uchar**, Nfs3Handle*);
+uint32_t nfs3HandleSize(Nfs3Handle*);
+int nfs3HandlePack(uint8_t*, uint8_t*, uint8_t**, Nfs3Handle*);
+int nfs3HandleUnpack(uint8_t*, uint8_t*, uint8_t**, Nfs3Handle*);
 
 void nfs3TimePrint(Fmt*, Nfs3Time*);
-u32int nfs3TimeSize(Nfs3Time*);
-int nfs3TimePack(uchar*, uchar*, uchar**, Nfs3Time*);
-int nfs3TimeUnpack(uchar*, uchar*, uchar**, Nfs3Time*);
+uint32_t nfs3TimeSize(Nfs3Time*);
+int nfs3TimePack(uint8_t*, uint8_t*, uint8_t**, Nfs3Time*);
+int nfs3TimeUnpack(uint8_t*, uint8_t*, uint8_t**, Nfs3Time*);
 
 void nfs3AttrPrint(Fmt*, Nfs3Attr*);
-u32int nfs3AttrSize(Nfs3Attr*);
-int nfs3AttrPack(uchar*, uchar*, uchar**, Nfs3Attr*);
-int nfs3AttrUnpack(uchar*, uchar*, uchar**, Nfs3Attr*);
+uint32_t nfs3AttrSize(Nfs3Attr*);
+int nfs3AttrPack(uint8_t*, uint8_t*, uint8_t**, Nfs3Attr*);
+int nfs3AttrUnpack(uint8_t*, uint8_t*, uint8_t**, Nfs3Attr*);
 
 void nfs3WccAttrPrint(Fmt*, Nfs3WccAttr*);
-u32int nfs3WccAttrSize(Nfs3WccAttr*);
-int nfs3WccAttrPack(uchar*, uchar*, uchar**, Nfs3WccAttr*);
-int nfs3WccAttrUnpack(uchar*, uchar*, uchar**, Nfs3WccAttr*);
+uint32_t nfs3WccAttrSize(Nfs3WccAttr*);
+int nfs3WccAttrPack(uint8_t*, uint8_t*, uint8_t**, Nfs3WccAttr*);
+int nfs3WccAttrUnpack(uint8_t*, uint8_t*, uint8_t**, Nfs3WccAttr*);
 
 void nfs3WccPrint(Fmt*, Nfs3Wcc*);
-u32int nfs3WccSize(Nfs3Wcc*);
-int nfs3WccPack(uchar*, uchar*, uchar**, Nfs3Wcc*);
-int nfs3WccUnpack(uchar*, uchar*, uchar**, Nfs3Wcc*);
+uint32_t nfs3WccSize(Nfs3Wcc*);
+int nfs3WccPack(uint8_t*, uint8_t*, uint8_t**, Nfs3Wcc*);
+int nfs3WccUnpack(uint8_t*, uint8_t*, uint8_t**, Nfs3Wcc*);
 
 void nfs3SetAttrPrint(Fmt*, Nfs3SetAttr*);
-u32int nfs3SetAttrSize(Nfs3SetAttr*);
-int nfs3SetAttrPack(uchar*, uchar*, uchar**, Nfs3SetAttr*);
-int nfs3SetAttrUnpack(uchar*, uchar*, uchar**, Nfs3SetAttr*);
+uint32_t nfs3SetAttrSize(Nfs3SetAttr*);
+int nfs3SetAttrPack(uint8_t*, uint8_t*, uint8_t**, Nfs3SetAttr*);
+int nfs3SetAttrUnpack(uint8_t*, uint8_t*, uint8_t**, Nfs3SetAttr*);
 
 extern SunProg nfs3Prog;
 
 void nfs3EntryPrint(Fmt*, Nfs3Entry*);
-u32int nfs3EntrySize(Nfs3Entry*);
-int nfs3EntryPack(uchar*, uchar*, uchar**, Nfs3Entry*);
-int nfs3EntryUnpack(uchar*, uchar*, uchar**, Nfs3Entry*);
+uint32_t nfs3EntrySize(Nfs3Entry*);
+int nfs3EntryPack(uint8_t*, uint8_t*, uint8_t**, Nfs3Entry*);
+int nfs3EntryUnpack(uint8_t*, uint8_t*, uint8_t**, Nfs3Entry*);
 
 void nfs3EntryPlusPrint(Fmt*, Nfs3Entry*);
-u32int nfs3EntryPlusSize(Nfs3Entry*);
-int nfs3EntryPlusPack(uchar*, uchar*, uchar**, Nfs3Entry*);
-int nfs3EntryPlusUnpack(uchar*, uchar*, uchar**, Nfs3Entry*);
+uint32_t nfs3EntryPlusSize(Nfs3Entry*);
+int nfs3EntryPlusPack(uint8_t*, uint8_t*, uint8_t**, Nfs3Entry*);
+int nfs3EntryPlusUnpack(uint8_t*, uint8_t*, uint8_t**, Nfs3Entry*);
 

+ 69 - 63
sys/include/oventi.h

@@ -97,27 +97,29 @@ enum {
 };
 
 struct VtRoot {
-	ushort version;
-	char name[128];
-	char type[128];
-	uchar score[VtScoreSize];	/* to a Dir block */
-	ushort blockSize;		/* maximum block size */
-	uchar prev[VtScoreSize];	/* last root block */
+	uint16_t version;
+	int8_t name[128];
+	int8_t type[128];
+	uint8_t score[VtScoreSize];	/* to a Dir block */
+	uint16_t blockSize;		/* maximum block size */
+	uint8_t prev[VtScoreSize];	/* last root block */
 };
 
 struct VtEntry {
-	ulong gen;			/* generation number */
-	ushort psize;			/* pointer block size */
-	ushort dsize;			/* data block size */
-	uchar depth;			/* unpacked from flags */
-	uchar flags;
-	uvlong size;
-	uchar score[VtScoreSize];
+	uint32_t gen;			/* generation number */
+	uint16_t psize;			/* pointer block size */
+	uint16_t dsize;			/* data block size */
+	uint8_t depth;			/* unpacked from flags */
+	uint8_t flags;
+	uint64_t size;
+	uint8_t score[VtScoreSize];
 };
 
 struct VtServerVtbl {
-	Packet *(*read)(VtSession*, uchar score[VtScoreSize], int type, int n);
-	int (*write)(VtSession*, uchar score[VtScoreSize], int type, Packet *p);
+	Packet *(*read)(VtSession*, uint8_t score[VtScoreSize], int type,
+			int n);
+	int (*write)(VtSession*, uint8_t score[VtScoreSize], int type,
+		     Packet *p);
 	void (*closing)(VtSession*, int clean);
 	void (*sync)(VtSession*);
 };
@@ -130,37 +132,37 @@ enum {
 };
 
 /* score of zero length block */
-extern uchar vtZeroScore[VtScoreSize];	
+extern uint8_t vtZeroScore[VtScoreSize];	
 
 /* both sides */
 void vtAttach(void);
 void vtDetach(void);
 void vtClose(VtSession *s);
 void vtFree(VtSession *s);
-char *vtGetUid(VtSession *s);
-char *vtGetSid(VtSession *s);
+int8_t *vtGetUid(VtSession *s);
+int8_t *vtGetSid(VtSession *s);
 int vtSetDebug(VtSession *s, int);
 int vtGetDebug(VtSession *s);
 int vtSetFd(VtSession *s, int fd);
 int vtGetFd(VtSession *s);
-int vtConnect(VtSession *s, char *password);
+int vtConnect(VtSession *s, int8_t *password);
 int vtSetCryptoStrength(VtSession *s, int);
 int vtGetCryptoStrength(VtSession *s);
 int vtSetCompression(VtSession *s, int);
 int vtGetCompression(VtSession *s);
 int vtGetCrypto(VtSession *s);
 int vtGetCodec(VtSession *s);
-char *vtGetVersion(VtSession *s);
-char *vtGetError(void);
+int8_t *vtGetVersion(VtSession *s);
+int8_t *vtGetError(void);
 int vtErrFmt(Fmt *fmt);
-void vtDebug(VtSession*, char *, ...);
-void vtDebugMesg(VtSession *z, Packet *p, char *s);
+void vtDebug(VtSession*, int8_t *, ...);
+void vtDebugMesg(VtSession *z, Packet *p, int8_t *s);
 
 /* internal */
 VtSession *vtAlloc(void);
 void vtReset(VtSession*);
-int vtAddString(Packet*, char*);
-int vtGetString(Packet*, char**);
+int vtAddString(Packet*, int8_t*);
+int vtGetString(Packet*, int8_t**);
 int vtSendPacket(VtSession*, Packet*);
 Packet *vtRecvPacket(VtSession*);
 void vtDisconnect(VtSession*, int);
@@ -168,60 +170,64 @@ int vtHello(VtSession*);
 
 /* client side */
 VtSession *vtClientAlloc(void);
-VtSession *vtDial(char *server, int canfail);
-int vtRedial(VtSession*, char *server);
-VtSession *vtStdioServer(char *server);
+VtSession *vtDial(int8_t *server, int canfail);
+int vtRedial(VtSession*, int8_t *server);
+VtSession *vtStdioServer(int8_t *server);
 int vtPing(VtSession *s);
-int vtSetUid(VtSession*, char *uid);
-int vtRead(VtSession*, uchar score[VtScoreSize], int type, uchar *buf, int n);
-int vtWrite(VtSession*, uchar score[VtScoreSize], int type, uchar *buf, int n);
-Packet *vtReadPacket(VtSession*, uchar score[VtScoreSize], int type, int n);
-int vtWritePacket(VtSession*, uchar score[VtScoreSize], int type, Packet *p);
+int vtSetUid(VtSession*, int8_t *uid);
+int vtRead(VtSession*, uint8_t score[VtScoreSize], int type, uint8_t *buf,
+	   int n);
+int vtWrite(VtSession*, uint8_t score[VtScoreSize], int type, uint8_t *buf,
+	    int n);
+Packet *vtReadPacket(VtSession*, uint8_t score[VtScoreSize], int type,
+		     int n);
+int vtWritePacket(VtSession*, uint8_t score[VtScoreSize], int type,
+		  Packet *p);
 int vtSync(VtSession *s);
 
-int vtZeroExtend(int type, uchar *buf, int n, int nn);
-int vtZeroTruncate(int type, uchar *buf, int n);
-int vtParseScore(char*, uint, uchar[VtScoreSize]);
+int vtZeroExtend(int type, uint8_t *buf, int n, int nn);
+int vtZeroTruncate(int type, uint8_t *buf, int n);
+int vtParseScore(int8_t*, uint, uint8_t[VtScoreSize]);
 
-void vtRootPack(VtRoot*, uchar*);
-int vtRootUnpack(VtRoot*, uchar*);
-void vtEntryPack(VtEntry*, uchar*, int index);
-int vtEntryUnpack(VtEntry*, uchar*, int index);
+void vtRootPack(VtRoot*, uint8_t*);
+int vtRootUnpack(VtRoot*, uint8_t*);
+void vtEntryPack(VtEntry*, uint8_t*, int index);
+int vtEntryUnpack(VtEntry*, uint8_t*, int index);
 
 /* server side */
 VtSession *vtServerAlloc(VtServerVtbl*);
-int vtSetSid(VtSession *s, char *sid);
+int vtSetSid(VtSession *s, int8_t *sid);
 int vtExport(VtSession *s);
 
 /* sha1 */
 VtSha1* vtSha1Alloc(void);
 void vtSha1Free(VtSha1*);
 void vtSha1Init(VtSha1*);
-void vtSha1Update(VtSha1*, uchar *, int n);
-void vtSha1Final(VtSha1*, uchar sha1[VtScoreSize]);
-void vtSha1(uchar score[VtScoreSize], uchar *, int);
-int vtSha1Check(uchar score[VtScoreSize], uchar *, int);
+void vtSha1Update(VtSha1*, uint8_t *, int n);
+void vtSha1Final(VtSha1*, uint8_t sha1[VtScoreSize]);
+void vtSha1(uint8_t score[VtScoreSize], uint8_t *, int);
+int vtSha1Check(uint8_t score[VtScoreSize], uint8_t *, int);
 int vtScoreFmt(Fmt *fmt);
 
 /* Packet */
 Packet *packetAlloc(void);
 void packetFree(Packet*);
-Packet *packetForeign(uchar *buf, int n, void (*free)(void *a), void *a);
+Packet *packetForeign(uint8_t *buf, int n, void (*free)(void *a), void *a);
 Packet *packetDup(Packet*, int offset, int n);
 Packet *packetSplit(Packet*, int n);
-int packetConsume(Packet*, uchar *buf, int n);
+int packetConsume(Packet*, uint8_t *buf, int n);
 int packetTrim(Packet*, int offset, int n);
-uchar *packetHeader(Packet*, int n);
-uchar *packetTrailer(Packet*, int n);
-int packetPrefix(Packet*, uchar *buf, int n);
-int packetAppend(Packet*, uchar *buf, int n);
+uint8_t *packetHeader(Packet*, int n);
+uint8_t *packetTrailer(Packet*, int n);
+int packetPrefix(Packet*, uint8_t *buf, int n);
+int packetAppend(Packet*, uint8_t *buf, int n);
 int packetConcat(Packet*, Packet*);
-uchar *packetPeek(Packet*, uchar *buf, int offset, int n);
-int packetCopy(Packet*, uchar *buf, int offset, int n);
+uint8_t *packetPeek(Packet*, uint8_t *buf, int offset, int n);
+int packetCopy(Packet*, uint8_t *buf, int offset, int n);
 int packetFragments(Packet*, IOchunk*, int nio, int offset);
 int packetSize(Packet*);
 int packetAllocatedSize(Packet*);
-void packetSha1(Packet*, uchar sha1[VtScoreSize]);
+void packetSha1(Packet*, uint8_t sha1[VtScoreSize]);
 int packetCompact(Packet*);
 int packetCmp(Packet*, Packet*);
 void packetStats(void);
@@ -233,15 +239,15 @@ void *vtMemAlloc(int);
 void *vtMemAllocZ(int);
 void *vtMemRealloc(void *p, int);
 void *vtMemBrk(int n);
-char *vtStrDup(char *);
-void vtFatal(char *, ...);
-char *vtGetError(void);
-char *vtSetError(char *, ...);
-char *vtOSError(void);
+int8_t *vtStrDup(int8_t *);
+void vtFatal(int8_t *, ...);
+int8_t *vtGetError(void);
+int8_t *vtSetError(int8_t *, ...);
+int8_t *vtOSError(void);
 
 /* locking/threads */
 int vtThread(void (*f)(void*), void *rock);
-void vtThreadSetName(char*);
+void vtThreadSetName(int8_t*);
 
 VtLock *vtLockAlloc(void);
 /* void vtLockInit(VtLock**); */
@@ -261,9 +267,9 @@ int vtWakeupAll(VtRendez*);
 
 /* fd functions - really network (socket) functions */
 void vtFdClose(int);
-int vtFdRead(int, uchar*, int);
-int vtFdReadFully(int, uchar*, int);
-int vtFdWrite(int, uchar*, int);
+int vtFdRead(int, uint8_t*, int);
+int vtFdReadFully(int, uint8_t*, int);
+int vtFdWrite(int, uint8_t*, int);
 
 /*
  * formatting

+ 18 - 17
sys/include/plumb.h

@@ -26,33 +26,34 @@ typedef struct Plumbmsg Plumbmsg;
 
 struct Plumbmsg
 {
-	char		*src;
-	char		*dst;
-	char		*wdir;
-	char		*type;
+	int8_t		*src;
+	int8_t		*dst;
+	int8_t		*wdir;
+	int8_t		*type;
 	Plumbattr	*attr;
 	int		ndata;
-	char		*data;
+	int8_t		*data;
 };
 
 struct Plumbattr
 {
-	char		*name;
-	char		*value;
+	int8_t		*name;
+	int8_t		*value;
 	Plumbattr	*next;
 };
 
 int			plumbsend(int, Plumbmsg*);
-int			plumbsendtext(int, char*, char*, char*, char*);
+int			plumbsendtext(int, int8_t*, int8_t*, int8_t*,
+					 int8_t*);
 Plumbmsg*	plumbrecv(int);
-char*		plumbpack(Plumbmsg*, int*);
-Plumbmsg*	plumbunpack(char*, int);
-Plumbmsg*	plumbunpackpartial(char*, int, int*);
-char*		plumbpackattr(Plumbattr*);
-Plumbattr*	plumbunpackattr(char*);
+int8_t*		plumbpack(Plumbmsg*, int*);
+Plumbmsg*	plumbunpack(int8_t*, int);
+Plumbmsg*	plumbunpackpartial(int8_t*, int, int*);
+int8_t*		plumbpackattr(Plumbattr*);
+Plumbattr*	plumbunpackattr(int8_t*);
 Plumbattr*	plumbaddattr(Plumbattr*, Plumbattr*);
-Plumbattr*	plumbdelattr(Plumbattr*, char*);
+Plumbattr*	plumbdelattr(Plumbattr*, int8_t*);
 void			plumbfree(Plumbmsg*);
-char*		plumblookup(Plumbattr*, char*);
-int			plumbopen(char*, int);
-int			eplumb(int, char*);
+int8_t*		plumblookup(Plumbattr*, int8_t*);
+int			plumbopen(int8_t*, int);
+int			eplumb(int, int8_t*);

+ 16 - 15
sys/include/pool.h

@@ -9,21 +9,21 @@
 
 typedef struct Pool Pool;
 struct Pool {
-	char*	name;
-	ulong	maxsize;
+	int8_t*	name;
+	uint32_t	maxsize;
 
-	ulong	cursize;
-	ulong	curfree;
-	ulong	curalloc;
+	uint32_t	cursize;
+	uint32_t	curfree;
+	uint32_t	curalloc;
 
-	ulong	minarena;	/* smallest size of new arena */
-	ulong	quantum;	/* allocated blocks should be multiple of */
-	ulong	minblock;	/* smallest newly allocated block */
+	uint32_t	minarena;	/* smallest size of new arena */
+	uint32_t	quantum;	/* allocated blocks should be multiple of */
+	uint32_t	minblock;	/* smallest newly allocated block */
 
 	void*	freeroot;	/* actually Free* */
 	void*	arenalist;	/* actually Arena* */
 
-	void*	(*alloc)(ulong);
+	void*	(*alloc)(uint32_t);
 	int	(*merge)(void*, void*);
 	void	(*move)(void* from, void* to);
 
@@ -33,18 +33,19 @@ struct Pool {
 
 	void	(*lock)(Pool*);
 	void	(*unlock)(Pool*);
-	void	(*print)(Pool*, char*, ...);
-	void	(*panic)(Pool*, char*, ...);
+	void	(*print)(Pool*, int8_t*, ...);
+	void	(*panic)(Pool*, int8_t*, ...);
 	void	(*logstack)(Pool*);
 
 	void*	private;
 };
 
-extern void*	poolalloc(Pool*, ulong);
-extern void*	poolallocalign(Pool*, ulong, ulong, long, ulong);
+extern void*	poolalloc(Pool*, uint32_t);
+extern void*	poolallocalign(Pool*, uint32_t, uint32_t, int32_t,
+				   uint32_t);
 extern void	poolfree(Pool*, void*);
-extern ulong	poolmsize(Pool*, void*);
-extern void*	poolrealloc(Pool*, void*, ulong);
+extern uint32_t	poolmsize(Pool*, void*);
+extern void*	poolrealloc(Pool*, void*, uint32_t);
 extern void	poolcheck(Pool*);
 extern int	poolcompact(Pool*);
 extern void	poolblockcheck(Pool*, void*);

+ 8 - 8
sys/include/regexp.h

@@ -21,12 +21,12 @@ typedef struct Reprog		Reprog;
 struct Resub{
 	union
 	{
-		char *sp;
+		int8_t *sp;
 		Rune *rsp;
 	};
 	union
 	{
-		char *ep;
+		int8_t *ep;
 		Rune *rep;
 	};
 };
@@ -65,11 +65,11 @@ struct Reprog{
 	Reinst	firstinst[5];	/* .text */
 };
 
-extern Reprog	*regcomp(char*);
-extern Reprog	*regcomplit(char*);
-extern Reprog	*regcompnl(char*);
-extern void	regerror(char*);
-extern int	regexec(Reprog*, char*, Resub*, int);
-extern void	regsub(char*, char*, int, Resub*, int);
+extern Reprog	*regcomp(int8_t*);
+extern Reprog	*regcomplit(int8_t*);
+extern Reprog	*regcompnl(int8_t*);
+extern void	regerror(int8_t*);
+extern int	regexec(Reprog*, int8_t*, Resub*, int);
+extern void	regsub(int8_t*, int8_t*, int, Resub*, int);
 extern int	rregexec(Reprog*, Rune*, Resub*, int);
 extern void	rregsub(Rune*, Rune*, int, Resub*, int);

+ 38 - 38
sys/include/stdio.h

@@ -35,16 +35,16 @@
  */
 typedef struct{
 	int fd;		/* UNIX file pointer */
-	char flags;	/* bits for must free buffer on close, line-buffered */
-	char state;	/* last operation was read, write, position, error, eof */
-	char *buf;	/* pointer to i/o buffer */
-	char *rp;	/* read pointer (or write end-of-buffer) */
-	char *wp;	/* write pointer (or read end-of-buffer) */
-	char *lp;	/* actual write pointer used when line-buffering */
-	long bufl;	/* actual length of buffer */
-	char unbuf[1];	/* tiny buffer for unbuffered io (used for ungetc?) */
+	int8_t flags;	/* bits for must free buffer on close, line-buffered */
+	int8_t state;	/* last operation was read, write, position, error, eof */
+	int8_t *buf;	/* pointer to i/o buffer */
+	int8_t *rp;	/* read pointer (or write end-of-buffer) */
+	int8_t *wp;	/* write pointer (or read end-of-buffer) */
+	int8_t *lp;	/* actual write pointer used when line-buffering */
+	int32_t bufl;	/* actual length of buffer */
+	int8_t unbuf[1];	/* tiny buffer for unbuffered io (used for ungetc?) */
 }FILE;
-typedef long fpos_t;
+typedef int32_t fpos_t;
 #ifndef NULL
 #define	NULL	((void*)0)
 #endif
@@ -70,58 +70,58 @@ typedef long fpos_t;
 #define	stdout	(&_IO_stream[1])
 #define	_IO_CHMASK	0377		/* mask for 8 bit characters */
 FILE *tmpfile(void);
-char *tmpnam(char *);
+int8_t *tmpnam(int8_t *);
 int fclose(FILE *);
 int fflush(FILE *);
-FILE *fopen(const char *, const char *);
-FILE *fdopen(const int, const char *);
-FILE *freopen(const char *, const char *, FILE *);
-void setbuf(FILE *, char *);
-int setvbuf(FILE *, char *, int, long);
-int fprintf(FILE *, const char *, ...);
-int fscanf(FILE *, const char *, ...);
-int printf(const char *, ...);
-int scanf(const char *, ...);
-int sprintf(char *, const char *, ...);
-int snprintf(char *, int, const char *, ...);
-int sscanf(const char *, const char *, ...);
-int vfprintf(FILE *, const char *, va_list);
-int vprintf(const char *, va_list);
-int vsprintf(char *, const char *, va_list);
-int vsnprintf(char *, int, const char *, va_list);
-int vfscanf(FILE *, const char *, va_list);
+FILE *fopen(const int8_t *, const int8_t *);
+FILE *fdopen(const int, const int8_t *);
+FILE *freopen(const int8_t *, const int8_t *, FILE *);
+void setbuf(FILE *, int8_t *);
+int setvbuf(FILE *, int8_t *, int, int32_t);
+int fprintf(FILE *, const int8_t *, ...);
+int fscanf(FILE *, const int8_t *, ...);
+int printf(const int8_t *, ...);
+int scanf(const int8_t *, ...);
+int sprintf(int8_t *, const int8_t *, ...);
+int snprintf(int8_t *, int, const int8_t *, ...);
+int sscanf(const int8_t *, const int8_t *, ...);
+int vfprintf(FILE *, const int8_t *, va_list);
+int vprintf(const int8_t *, va_list);
+int vsprintf(int8_t *, const int8_t *, va_list);
+int vsnprintf(int8_t *, int, const int8_t *, va_list);
+int vfscanf(FILE *, const int8_t *, va_list);
 int fgetc(FILE *);
-char *fgets(char *, int, FILE *);
+int8_t *fgets(int8_t *, int, FILE *);
 int fputc(int, FILE *);
-int fputs(const char *, FILE *);
+int fputs(const int8_t *, FILE *);
 int getc(FILE *);
 #define	getc(f)	((f)->rp>=(f)->wp?_IO_getc(f):*(f)->rp++&_IO_CHMASK)
 int _IO_getc(FILE *f);
 int getchar(void);
 #define	getchar()	getc(stdin)
-char *gets(char *);
+int8_t *gets(int8_t *);
 int putc(int, FILE *);
 #define	putc(c, f) ((f)->wp>=(f)->rp?_IO_putc(c, f):(*(f)->wp++=c)&_IO_CHMASK)
 int _IO_putc(int, FILE *);
 int putchar(int);
 #define	putchar(c)	putc(c, stdout)
-int puts(const char *);
+int puts(const int8_t *);
 int ungetc(int, FILE *);
-long fread(void *, long, long, FILE *);
-long fwrite(const void *, long, long, FILE *);
+int32_t fread(void *, int32_t, int32_t, FILE *);
+int32_t fwrite(const void *, int32_t, int32_t, FILE *);
 int fgetpos(FILE *, fpos_t *);
-int fseek(FILE *, long, int);
+int fseek(FILE *, int32_t, int);
 int fseeko(FILE *, long long, int);
 int fsetpos(FILE *, const fpos_t *);
-long ftell(FILE *);
+int32_t ftell(FILE *);
 long long ftello(FILE *);
 void rewind(FILE *);
 void clearerr(FILE *);
 int feof(FILE *);
 int ferror(FILE *);
-void perror(const char *);
+void perror(const int8_t *);
 extern FILE _IO_stream[FOPEN_MAX];
-FILE *sopenr(const char *);
+FILE *sopenr(const int8_t *);
 FILE *sopenw(void);
-char *sclose(FILE *);
+int8_t *sclose(FILE *);
 int fileno(FILE *);

+ 72 - 69
sys/include/sunrpc.h

@@ -14,7 +14,7 @@
 #pragma lib "libsunrpc.a"
 #pragma src "/sys/src/libsunrpc"
 
-typedef uchar u1int;
+typedef uint8_t u1int;
 
 typedef struct SunAuthInfo SunAuthInfo;
 typedef struct SunAuthUnix SunAuthUnix;
@@ -58,43 +58,43 @@ typedef enum {
 struct SunAuthInfo
 {
 	uint flavor;
-	uchar *data;
+	uint8_t *data;
 	uint ndata;
 };
 
 struct SunAuthUnix
 {
-	u32int stamp;
-	char *sysname;
-	u32int uid;
-	u32int gid;
-	u32int g[16];
-	u32int ng;
+	uint32_t stamp;
+	int8_t *sysname;
+	uint32_t uid;
+	uint32_t gid;
+	uint32_t g[16];
+	uint32_t ng;
 };
 
 struct SunRpc
 {
-	u32int xid;
+	uint32_t xid;
 	uint iscall;
 
 	/*
 	 * only sent on wire in call
 	 * caller fills in for the reply unpackers.
 	 */
-	u32int proc;
+	uint32_t proc;
 
 	/* call */
 	// uint proc;
-	u32int prog, vers;
+	uint32_t prog, vers;
 	SunAuthInfo cred;
 	SunAuthInfo verf;
-	uchar *data;
+	uint8_t *data;
 	uint ndata;
 
 	/* reply */
-	u32int status;
+	uint32_t status;
 	// SunAuthInfo verf;
-	u32int low, high;
+	uint32_t low, high;
 	// uchar *data;
 	// uint ndata;
 };
@@ -115,40 +115,42 @@ void sunErrstr(SunStatus);
 
 void sunRpcPrint(Fmt*, SunRpc*);
 uint sunRpcSize(SunRpc*);
-SunStatus sunRpcPack(uchar*, uchar*, uchar**, SunRpc*);
-SunStatus sunRpcUnpack(uchar*, uchar*, uchar**, SunRpc*);
+SunStatus sunRpcPack(uint8_t*, uint8_t*, uint8_t**, SunRpc*);
+SunStatus sunRpcUnpack(uint8_t*, uint8_t*, uint8_t**, SunRpc*);
 
 void sunAuthInfoPrint(Fmt*, SunAuthInfo*);
 uint sunAuthInfoSize(SunAuthInfo*);
-int sunAuthInfoPack(uchar*, uchar*, uchar**, SunAuthInfo*);
-int sunAuthInfoUnpack(uchar*, uchar*, uchar**, SunAuthInfo*);
+int sunAuthInfoPack(uint8_t*, uint8_t*, uint8_t**, SunAuthInfo*);
+int sunAuthInfoUnpack(uint8_t*, uint8_t*, uint8_t**, SunAuthInfo*);
 
 void sunAuthUnixPrint(Fmt*, SunAuthUnix*);
 uint sunAuthUnixSize(SunAuthUnix*);
-int sunAuthUnixPack(uchar*, uchar*, uchar**, SunAuthUnix*);
-int sunAuthUnixUnpack(uchar*, uchar*, uchar**, SunAuthUnix*);
+int sunAuthUnixPack(uint8_t*, uint8_t*, uint8_t**, SunAuthUnix*);
+int sunAuthUnixUnpack(uint8_t*, uint8_t*, uint8_t**, SunAuthUnix*);
 
-int sunEnumPack(uchar*, uchar*, uchar**, int*);
-int sunEnumUnpack(uchar*, uchar*, uchar**, int*);
-int sunUint1Pack(uchar*, uchar*, uchar**, u1int*);
-int sunUint1Unpack(uchar*, uchar*, uchar**, u1int*);
+int sunEnumPack(uint8_t*, uint8_t*, uint8_t**, int*);
+int sunEnumUnpack(uint8_t*, uint8_t*, uint8_t**, int*);
+int sunUint1Pack(uint8_t*, uint8_t*, uint8_t**, u1int*);
+int sunUint1Unpack(uint8_t*, uint8_t*, uint8_t**, u1int*);
 
-int sunStringPack(uchar*, uchar*, uchar**, char**, u32int);
-int sunStringUnpack(uchar*, uchar*, uchar**, char**, u32int);
-uint sunStringSize(char*);
+int sunStringPack(uint8_t*, uint8_t*, uint8_t**, int8_t**, uint32_t);
+int sunStringUnpack(uint8_t*, uint8_t*, uint8_t**, int8_t**, uint32_t);
+uint sunStringSize(int8_t*);
 
-int sunUint32Pack(uchar*, uchar*, uchar**, u32int*);
-int sunUint32Unpack(uchar*, uchar*, uchar**, u32int*);
-int sunUint64Pack(uchar*, uchar*, uchar**, u64int*);
-int sunUint64Unpack(uchar*, uchar*, uchar**, u64int*);
+int sunUint32Pack(uint8_t*, uint8_t*, uint8_t**, uint32_t*);
+int sunUint32Unpack(uint8_t*, uint8_t*, uint8_t**, uint32_t*);
+int sunUint64Pack(uint8_t*, uint8_t*, uint8_t**, uint64_t*);
+int sunUint64Unpack(uint8_t*, uint8_t*, uint8_t**, uint64_t*);
 
-int sunVarOpaquePack(uchar*, uchar*, uchar**, uchar**, u32int*, u32int);
-int sunVarOpaqueUnpack(uchar*, uchar*, uchar**, uchar**, u32int*, u32int);
-uint sunVarOpaqueSize(u32int);
+int sunVarOpaquePack(uint8_t*, uint8_t*, uint8_t**, uint8_t**, uint32_t*,
+		     uint32_t);
+int sunVarOpaqueUnpack(uint8_t*, uint8_t*, uint8_t**, uint8_t**, uint32_t*,
+		       uint32_t);
+uint sunVarOpaqueSize(uint32_t);
 
-int sunFixedOpaquePack(uchar*, uchar*, uchar**, uchar*, u32int);
-int sunFixedOpaqueUnpack(uchar*, uchar*, uchar**, uchar*, u32int);
-uint sunFixedOpaqueSize(u32int);
+int sunFixedOpaquePack(uint8_t*, uint8_t*, uint8_t**, uint8_t*, uint32_t);
+int sunFixedOpaqueUnpack(uint8_t*, uint8_t*, uint8_t**, uint8_t*, uint32_t);
+uint sunFixedOpaqueSize(uint32_t);
 
 /*
  * Sun RPC Program
@@ -165,16 +167,17 @@ struct SunProg
 
 struct SunProc
 {
-	int (*pack)(uchar*, uchar*, uchar**, SunCall*);
-	int (*unpack)(uchar*, uchar*, uchar**, SunCall*);
+	int (*pack)(uint8_t*, uint8_t*, uint8_t**, SunCall*);
+	int (*unpack)(uint8_t*, uint8_t*, uint8_t**, SunCall*);
 	uint (*size)(SunCall*);
 	void (*fmt)(Fmt*, SunCall*);
 	uint sizeoftype;
 };
 
-SunStatus sunCallPack(SunProg*, uchar*, uchar*, uchar**, SunCall*);
-SunStatus sunCallUnpack(SunProg*, uchar*, uchar*, uchar**, SunCall*);
-SunStatus sunCallUnpackAlloc(SunProg*, SunCallType, uchar*, uchar*, uchar**, SunCall**);
+SunStatus sunCallPack(SunProg*, uint8_t*, uint8_t*, uint8_t**, SunCall*);
+SunStatus sunCallUnpack(SunProg*, uint8_t*, uint8_t*, uint8_t**, SunCall*);
+SunStatus sunCallUnpackAlloc(SunProg*, SunCallType, uint8_t*, uint8_t*,
+			     uint8_t**, SunCall**);
 uint sunCallSize(SunProg*, SunCall*);
 void sunCallSetup(SunCall*, SunProg*, uint);
 
@@ -202,7 +205,7 @@ enum
 
 struct SunMsg
 {
-	uchar *data;
+	uint8_t *data;
 	int count;
 	SunSrv *srv;
 	SunRpc rpc;
@@ -231,9 +234,9 @@ struct SunSrv
 SunSrv *sunSrv(void);
 
 void	sunSrvProg(SunSrv *srv, SunProg *prog, Channel *c);
-int	sunSrvAnnounce(SunSrv *srv, char *address);
-int	sunSrvUdp(SunSrv *srv, char *address);
-int	sunSrvNet(SunSrv *srv, char *address);
+int	sunSrvAnnounce(SunSrv *srv, int8_t *address);
+int	sunSrvUdp(SunSrv *srv, int8_t *address);
+int	sunSrvNet(SunSrv *srv, int8_t *address);
 int	sunSrvFd(SunSrv *srv, int fd);
 void	sunSrvThreadCreate(SunSrv *srv, void (*fn)(void*), void*);
 void	sunSrvClose(SunSrv*);
@@ -252,14 +255,14 @@ struct SunClient
 	int		fd;
 	int		chatty;
 	int		needcount;
-	ulong	maxwait;
-	ulong	xidgen;
+	uint32_t	maxwait;
+	uint32_t	xidgen;
 	int		nsend;
 	int		nresend;
 	struct {
-		ulong min;
-		ulong max;
-		ulong avg;
+		uint32_t min;
+		uint32_t max;
+		uint32_t avg;
 	} rtt;
 	Channel	*dying;
 	Channel	*rpcchan;
@@ -272,11 +275,11 @@ struct SunClient
 	int 		nettid;
 };
 
-SunClient	*sunDial(char*);
+SunClient	*sunDial(int8_t*);
 
-int	sunClientRpc(SunClient*, ulong, SunCall*, SunCall*, uchar**);
+int	sunClientRpc(SunClient*, uint32_t, SunCall*, SunCall*, uint8_t**);
 void	sunClientClose(SunClient*);
-void	sunClientFlushRpc(SunClient*, ulong);
+void	sunClientFlushRpc(SunClient*, uint32_t);
 void	sunClientProg(SunClient*, SunProg*);
 
 
@@ -284,8 +287,8 @@ void	sunClientProg(SunClient*, SunProg*);
  * Provided by callers.
  * Should remove dependence on this, but hard.
  */
-void	*emalloc(ulong);
-void *erealloc(void*, ulong);
+void	*emalloc(uint32_t);
+void *erealloc(void*, uint32_t);
 
 
 /*
@@ -332,10 +335,10 @@ enum
 };
 
 struct PortMap {
-	u32int prog;
-	u32int vers;
-	u32int prot;
-	u32int port;
+	uint32_t prog;
+	uint32_t vers;
+	uint32_t prot;
+	uint32_t port;
 };
 
 struct PortTNull {
@@ -373,7 +376,7 @@ struct PortTGetport {
 
 struct PortRGetport {
 	SunCall call;
-	u32int port;
+	uint32_t port;
 };
 
 struct PortTDump {
@@ -388,18 +391,18 @@ struct PortRDump {
 
 struct PortTCallit {
 	SunCall call;
-	u32int prog;
-	u32int vers;
-	u32int proc;
-	uchar *data;
-	u32int count;
+	uint32_t prog;
+	uint32_t vers;
+	uint32_t proc;
+	uint8_t *data;
+	uint32_t count;
 };
 
 struct PortRCallit {
 	SunCall call;
-	u32int port;
-	uchar *data;
-	u32int count;
+	uint32_t port;
+	uint8_t *data;
+	uint32_t count;
 };
 
 extern SunProg portProg;

+ 25 - 25
sys/include/thread.h

@@ -38,7 +38,7 @@ struct Channel {
 	volatile Alt **qentry;	/* Receivers/senders waiting (malloc) */
 	volatile int nentry;	/* # of entries malloc-ed */
 	volatile int closed;	/* channel is closed */
-	uchar	v[1];		/* Array of s values in the channel */
+	uint8_t	v[1];		/* Array of s values in the channel */
 };
 
 
@@ -55,7 +55,7 @@ struct Alt {
 	Channel	*c;		/* channel */
 	void	*v;		/* pointer to value */
 	ChanOp	op;		/* operation */
-	char	*err;		/* did the op fail? */
+	int8_t	*err;		/* did the op fail? */
 	/*
 	 * the next variables are used internally to alt
 	 * they need not be initialized
@@ -65,7 +65,7 @@ struct Alt {
 };
 
 struct Ref {
-	long	ref;
+	int32_t	ref;
 };
 
 int	alt(Alt alts[]);
@@ -74,44 +74,44 @@ int	chanclosing(Channel *c);
 Channel*chancreate(int elemsize, int bufsize);
 int	chaninit(Channel *c, int elemsize, int elemcnt);
 void	chanfree(Channel *c);
-int	chanprint(Channel *, char *, ...);
-long	decref(Ref *r);			/* returns 0 iff value is now zero */
+int	chanprint(Channel *, int8_t *, ...);
+int32_t	decref(Ref *r);			/* returns 0 iff value is now zero */
 void	incref(Ref *r);
 int	nbrecv(Channel *c, void *v);
 void*	nbrecvp(Channel *c);
-ulong	nbrecvul(Channel *c);
+uint32_t	nbrecvul(Channel *c);
 int	nbsend(Channel *c, void *v);
 int	nbsendp(Channel *c, void *v);
-int	nbsendul(Channel *c, ulong v);
+int	nbsendul(Channel *c, uint32_t v);
 void	needstack(int);
 int	proccreate(void (*f)(void *arg), void *arg, uint stacksize);
 int	procrfork(void (*f)(void *arg), void *arg, uint stacksize, int flag);
 void**	procdata(void);
-void	procexec(Channel *, char *, char *[]);
-void	procexecl(Channel *, char *, ...);
+void	procexec(Channel *, int8_t *, int8_t *[]);
+void	procexecl(Channel *, int8_t *, ...);
 int	recv(Channel *c, void *v);
 void*	recvp(Channel *c);
-ulong	recvul(Channel *c);
+uint32_t	recvul(Channel *c);
 int	send(Channel *c, void *v);
 int	sendp(Channel *c, void *v);
-int	sendul(Channel *c, ulong v);
+int	sendul(Channel *c, uint32_t v);
 int	threadcreate(void (*f)(void *arg), void *arg, uint stacksize);
 void**	threaddata(void);
-void	threadexits(char *);
-void	threadexitsall(char *);
+void	threadexits(int8_t *);
+void	threadexitsall(int8_t *);
 int	threadgetgrp(void);	/* return thread group of current thread */
-char*	threadgetname(void);
+int8_t*	threadgetname(void);
 void	threadint(int);		/* interrupt thread */
 void	threadintgrp(int);	/* interrupt threads in grp */
 void	threadkill(int);	/* kill thread */
 void	threadkillgrp(int);	/* kill threads in group */
-void	threadmain(int argc, char *argv[]);
+void	threadmain(int argc, int8_t *argv[]);
 void	threadnonotes(void);
-int	threadnotify(int (*f)(void*, char*), int in);
+int	threadnotify(int (*f)(void*, int8_t*), int in);
 int	threadid(void);
 int	threadpid(int);
 int	threadsetgrp(int);		/* set thread group, return old */
-void	threadsetname(char *fmt, ...);
+void	threadsetname(int8_t *fmt, ...);
 Channel*threadwaitchan(void);
 int	tprivalloc(void);
 void	tprivfree(int);
@@ -131,12 +131,12 @@ void	closeioproc(Ioproc*);
 void	iointerrupt(Ioproc*);
 
 int	ioclose(Ioproc*, int);
-int	iodial(Ioproc*, char*, char*, char*, int*);
-int	ioopen(Ioproc*, char*, int);
-long	ioread(Ioproc*, int, void*, long);
-long	ioreadn(Ioproc*, int, void*, long);
-long	iowrite(Ioproc*, int, void*, long);
-int	iosleep(Ioproc*, long);
-
-long	iocall(Ioproc*, long (*)(va_list*), ...);
+int	iodial(Ioproc*, int8_t*, int8_t*, int8_t*, int*);
+int	ioopen(Ioproc*, int8_t*, int);
+int32_t	ioread(Ioproc*, int, void*, int32_t);
+int32_t	ioreadn(Ioproc*, int, void*, int32_t);
+int32_t	iowrite(Ioproc*, int, void*, int32_t);
+int	iosleep(Ioproc*, int32_t);
+
+int32_t	iocall(Ioproc*, int32_t (*)(va_list*), ...);
 void	ioret(Ioproc*, int);

+ 8 - 8
sys/include/tos.h

@@ -19,16 +19,16 @@ struct Tos {
 		Plink	*next;	/* known to be 4(ptr) */
 		Plink	*last;
 		Plink	*first;
-		ulong	pid;
-		ulong	what;
+		uint32_t	pid;
+		uint32_t	what;
 	} prof;
-	uvlong	cyclefreq;	/* cycle clock frequency if there is one, 0 otherwise */
-	vlong	kcycles;	/* cycles spent in kernel */
-	vlong	pcycles;	/* cycles spent in process (kernel + user) */
-	ulong	pid;		/* might as well put the pid here */
-	ulong	clock;
+	uint64_t	cyclefreq;	/* cycle clock frequency if there is one, 0 otherwise */
+	int64_t	kcycles;	/* cycles spent in kernel */
+	int64_t	pcycles;	/* cycles spent in process (kernel + user) */
+	uint32_t	pid;		/* might as well put the pid here */
+	uint32_t	clock;
 	/* scratch space for kernel use (e.g., mips fp delay-slot execution) */
-	ulong	kscr[4];
+	uint32_t	kscr[4];
 
 	/*
 	 * Fields below are not available on Plan 9 kernels.

+ 4 - 4
sys/include/trace.h

@@ -28,8 +28,8 @@ typedef enum Tevent {
 
 typedef struct Traceevent	Traceevent;
 struct Traceevent {
-	ulong	pid;	
-	ulong	etype;	/* Event type */
-	vlong	time;	/* time stamp  */
-	ulong	core;	/* core number */
+	uint32_t	pid;	
+	uint32_t	etype;	/* Event type */
+	int64_t	time;	/* time stamp  */
+	uint32_t	core;	/* core number */
 };

+ 100 - 95
sys/include/venti.h

@@ -24,25 +24,26 @@ typedef struct Packet Packet;
 #pragma incomplete Packet
 
 Packet*	packetalloc(void);
-void	packetappend(Packet*, uchar *buf, int n);
+void	packetappend(Packet*, uint8_t *buf, int n);
 uint	packetasize(Packet*);
 int	packetcmp(Packet*, Packet*);
 int	packetcompact(Packet*);
 void	packetconcat(Packet*, Packet*);
-int	packetconsume(Packet*, uchar *buf, int n);
-int	packetcopy(Packet*, uchar *buf, int offset, int n);
+int	packetconsume(Packet*, uint8_t *buf, int n);
+int	packetcopy(Packet*, uint8_t *buf, int offset, int n);
 Packet*	packetdup(Packet*, int offset, int n);
-Packet*	packetforeign(uchar *buf, int n, void (*free)(void *a), void *a);
+Packet*	packetforeign(uint8_t *buf, int n, void (*free)(void *a),
+			     void *a);
 int	packetfragments(Packet*, IOchunk*, int nio, int offset);
 void	packetfree(Packet*);
-uchar*	packetheader(Packet*, int n);
-uchar*	packetpeek(Packet*, uchar *buf, int offset, int n);
-void	packetprefix(Packet*, uchar *buf, int n);
-void	packetsha1(Packet*, uchar sha1[20]);
+uint8_t*	packetheader(Packet*, int n);
+uint8_t*	packetpeek(Packet*, uint8_t *buf, int offset, int n);
+void	packetprefix(Packet*, uint8_t *buf, int n);
+void	packetsha1(Packet*, uint8_t sha1[20]);
 uint	packetsize(Packet*);
 Packet*	packetsplit(Packet*, int n);
 void	packetstats(void);
-uchar*	packettrailer(Packet*, int n);
+uint8_t*	packettrailer(Packet*, int n);
 int	packettrim(Packet*, int offset, int n);
 
 /* XXX should be own library? */
@@ -55,7 +56,7 @@ typedef struct VtLogChunk VtLogChunk;
 struct VtLog
 {
 	VtLog	*next;		/* in hash table */
-	char	*name;
+	int8_t	*name;
 	VtLogChunk *chunk;
 	uint	nchunk;
 	VtLogChunk *w;
@@ -65,17 +66,17 @@ struct VtLog
 
 struct VtLogChunk
 {
-	char	*p;
-	char	*ep;
-	char	*wp;
+	int8_t	*p;
+	int8_t	*ep;
+	int8_t	*wp;
 };
 
-VtLog*	vtlogopen(char *name, uint size);
-void	vtlogprint(VtLog *log, char *fmt, ...);
-void	vtlog(char *name, char *fmt, ...);
+VtLog*	vtlogopen(int8_t *name, uint size);
+void	vtlogprint(VtLog *log, int8_t *fmt, ...);
+void	vtlog(int8_t *name, int8_t *fmt, ...);
 void	vtlogclose(VtLog*);
-void	vtlogremove(char *name);
-char**	vtlognames(int*);
+void	vtlogremove(int8_t *name);
+int8_t**	vtlognames(int*);
 void	vtlogdump(int fd, VtLog*);
 
 /* XXX begin actual venti.h */
@@ -101,8 +102,8 @@ enum
 /* 
  * Strings in packets.
  */
-int vtputstring(Packet*, char*);
-int vtgetstring(Packet*, char**);
+int vtputstring(Packet*, int8_t*);
+int vtgetstring(Packet*, int8_t**);
 
 /*
  * Block types.
@@ -151,25 +152,25 @@ enum
 };
 struct VtEntry
 {
-	ulong	gen;			/* generation number */
-	ushort	psize;			/* pointer block size */
-	ushort	dsize;			/* data block size */
-	uchar	type;
-	uchar	flags;
-	uvlong	size;
-	uchar	score[VtScoreSize];
+	uint32_t	gen;			/* generation number */
+	uint16_t	psize;			/* pointer block size */
+	uint16_t	dsize;			/* data block size */
+	uint8_t	type;
+	uint8_t	flags;
+	uint64_t	size;
+	uint8_t	score[VtScoreSize];
 };
 
-void vtentrypack(VtEntry*, uchar*, int index);
-int vtentryunpack(VtEntry*, uchar*, int index);
+void vtentrypack(VtEntry*, uint8_t*, int index);
+int vtentryunpack(VtEntry*, uint8_t*, int index);
 
 struct VtRoot
 {
-	char	name[128];
-	char	type[128];
-	uchar	score[VtScoreSize];	/* to a Dir block */
-	ushort	blocksize;		/* maximum block size */
-	uchar	prev[VtScoreSize];	/* last root block */
+	int8_t	name[128];
+	int8_t	type[128];
+	uint8_t	score[VtScoreSize];	/* to a Dir block */
+	uint16_t	blocksize;		/* maximum block size */
+	uint8_t	prev[VtScoreSize];	/* last root block */
 };
 
 enum
@@ -178,24 +179,24 @@ enum
 	VtRootVersion = 2
 };
 
-void vtrootpack(VtRoot*, uchar*);
-int vtrootunpack(VtRoot*, uchar*);
+void vtrootpack(VtRoot*, uint8_t*);
+int vtrootunpack(VtRoot*, uint8_t*);
 
 /*
  * score of zero length block
  */
-extern uchar vtzeroscore[VtScoreSize];
+extern uint8_t vtzeroscore[VtScoreSize];
 
 /*
  * zero extend and truncate blocks
  */
-void vtzeroextend(int type, uchar *buf, uint n, uint nn);
-uint vtzerotruncate(int type, uchar *buf, uint n);
+void vtzeroextend(int type, uint8_t *buf, uint n, uint nn);
+uint vtzerotruncate(int type, uint8_t *buf, uint n);
 
 /*
  * parse score: mungs s
  */
-int vtparsescore(char *s, char **prefix, uchar[VtScoreSize]);
+int vtparsescore(int8_t *s, int8_t **prefix, uint8_t[VtScoreSize]);
 
 /*
  * formatting
@@ -219,7 +220,7 @@ void*	vtmalloc(int);
 void*	vtmallocz(int);
 void*	vtrealloc(void *p, int);
 void*	vtbrk(int n);
-char*	vtstrdup(char *);
+int8_t*	vtstrdup(int8_t *);
 
 /*
  * Venti protocol
@@ -283,26 +284,26 @@ enum
 
 struct VtFcall
 {
-	uchar	msgtype;
-	uchar	tag;
+	uint8_t	msgtype;
+	uint8_t	tag;
 
-	char	*error;		/* Rerror */
+	int8_t	*error;		/* Rerror */
 
-	char	*version;	/* Thello */
-	char	*uid;		/* Thello */
-	uchar	strength;	/* Thello */
-	uchar	*crypto;	/* Thello */
+	int8_t	*version;	/* Thello */
+	int8_t	*uid;		/* Thello */
+	uint8_t	strength;	/* Thello */
+	uint8_t	*crypto;	/* Thello */
 	uint	ncrypto;	/* Thello */
-	uchar	*codec;		/* Thello */
+	uint8_t	*codec;		/* Thello */
 	uint	ncodec;		/* Thello */
-	char	*sid;		/* Rhello */
-	uchar	rcrypto;	/* Rhello */
-	uchar	rcodec;		/* Rhello */
-	uchar	*auth;		/* TauthX, RauthX */
+	int8_t	*sid;		/* Rhello */
+	uint8_t	rcrypto;	/* Rhello */
+	uint8_t	rcodec;		/* Rhello */
+	uint8_t	*auth;		/* TauthX, RauthX */
 	uint	nauth;		/* TauthX, RauthX */
-	uchar	score[VtScoreSize];	/* Tread, Rwrite */
-	uchar	blocktype;	/* Tread, Twrite */
-	ushort	count;		/* Tread */
+	uint8_t	score[VtScoreSize];	/* Tread, Rwrite */
+	uint8_t	blocktype;	/* Tread, Twrite */
+	uint16_t	count;		/* Tread */
 	Packet	*data;		/* Rread, Twrite */
 };
 
@@ -336,19 +337,19 @@ struct VtConn
 	Packet	*part;
 	Rendez	tagrend;
 	Rendez	rpcfork;
-	char	*version;
-	char	*uid;
-	char	*sid;
-	char	addr[256];	/* address of other side */
+	int8_t	*version;
+	int8_t	*uid;
+	int8_t	*sid;
+	int8_t	addr[256];	/* address of other side */
 };
 
 VtConn*	vtconn(int infd, int outfd);
-VtConn*	vtdial(char*);
+VtConn*	vtdial(int8_t*);
 void	vtfreeconn(VtConn*);
 int	vtsend(VtConn*, Packet*);
 Packet*	vtrecv(VtConn*);
 int	vtversion(VtConn* z);
-void	vtdebug(VtConn* z, char*, ...);
+void	vtdebug(VtConn* z, int8_t*, ...);
 void	vthangup(VtConn* z);
 int	vtgoodbye(VtConn* z);
 
@@ -368,7 +369,7 @@ struct VtReq
 };
 
 int	vtsrvhello(VtConn*);
-VtSrv*	vtlisten(char *addr);
+VtSrv*	vtlisten(int8_t *addr);
 VtReq*	vtgetreq(VtSrv*);
 void	vtrespond(VtReq*);
 
@@ -380,10 +381,14 @@ void	vtsendproc(void*);	/* VtConn */
 
 int	vtconnect(VtConn*);
 int	vthello(VtConn*);
-int	vtread(VtConn*, uchar score[VtScoreSize], uint type, uchar *buf, int n);
-int	vtwrite(VtConn*, uchar score[VtScoreSize], uint type, uchar *buf, int n);
-Packet*	vtreadpacket(VtConn*, uchar score[VtScoreSize], uint type, int n);
-int	vtwritepacket(VtConn*, uchar score[VtScoreSize], uint type, Packet *p);
+int	vtread(VtConn*, uint8_t score[VtScoreSize], uint type,
+		  uint8_t *buf, int n);
+int	vtwrite(VtConn*, uint8_t score[VtScoreSize], uint type,
+		   uint8_t *buf, int n);
+Packet*	vtreadpacket(VtConn*, uint8_t score[VtScoreSize], uint type,
+			    int n);
+int	vtwritepacket(VtConn*, uint8_t score[VtScoreSize], uint type,
+			 Packet *p);
 int	vtsync(VtConn*);
 int	vtping(VtConn*);
 
@@ -404,35 +409,35 @@ struct VtBlock
 	VtCache	*c;
 	QLock	lk;
 
-	uchar	*data;
-	uchar	score[VtScoreSize];
-	uchar	type;			/* BtXXX */
+	uint8_t	*data;
+	uint8_t	score[VtScoreSize];
+	uint8_t	type;			/* BtXXX */
 
 	/* internal to cache */
 	int	nlock;
 	int	iostate;
 	int	ref;
-	u32int	heap;
+	uint32_t	heap;
 	VtBlock	*next;
 	VtBlock	**prev;
-	u32int	used;
-	u32int	used2;
-	u32int	addr;
+	uint32_t	used;
+	uint32_t	used2;
+	uint32_t	addr;
 	uintptr	pc;
 };
 
-u32int	vtglobaltolocal(uchar[VtScoreSize]);
-void	vtlocaltoglobal(u32int, uchar[VtScoreSize]);
+uint32_t	vtglobaltolocal(uint8_t[VtScoreSize]);
+void	vtlocaltoglobal(uint32_t, uint8_t[VtScoreSize]);
 
-VtCache*vtcachealloc(VtConn*, int blocksize, ulong nblocks);
+VtCache*vtcachealloc(VtConn*, int blocksize, uint32_t nblocks);
 void	vtcachefree(VtCache*);
-VtBlock*vtcachelocal(VtCache*, u32int addr, int type);
-VtBlock*vtcacheglobal(VtCache*, uchar[VtScoreSize], int type);
+VtBlock*vtcachelocal(VtCache*, uint32_t addr, int type);
+VtBlock*vtcacheglobal(VtCache*, uint8_t[VtScoreSize], int type);
 VtBlock*vtcacheallocblock(VtCache*, int type);
 void	vtcachesetwrite(VtCache*,
-	int(*)(VtConn*, uchar[VtScoreSize], uint, uchar*, int));
+	int(*)(VtConn*, uint8_t[VtScoreSize], uint, uint8_t*, int));
 void	vtblockput(VtBlock*);
-u32int	vtcacheblocksize(VtCache*);
+uint32_t	vtcacheblocksize(VtCache*);
 int	vtblockwrite(VtBlock*);
 VtBlock*vtblockcopy(VtBlock*);
 void	vtblockduplock(VtBlock*);
@@ -450,18 +455,18 @@ struct VtFile
 	int	ref;
 	int	local;
 	VtBlock	*b;			/* block containing this file */
-	uchar	score[VtScoreSize];	/* score of block containing this file */
+	uint8_t	score[VtScoreSize];	/* score of block containing this file */
 
 /* immutable */
 	VtCache	*c;
 	int	mode;
-	u32int	gen;
+	uint32_t	gen;
 	int	dsize;
 	int	psize;
 	int	dir;
 	VtFile	*parent;
 	int	epb;			/* entries per block in parent */
-	u32int	offset; 		/* entry offset in parent */
+	uint32_t	offset; 		/* entry offset in parent */
 };
 
 enum
@@ -471,30 +476,30 @@ enum
 	VtORDWR
 };
 
-VtBlock*vtfileblock(VtFile*, u32int, int mode);
-int	vtfileblockscore(VtFile*, u32int, uchar[VtScoreSize]);
+VtBlock*vtfileblock(VtFile*, uint32_t, int mode);
+int	vtfileblockscore(VtFile*, uint32_t, uint8_t[VtScoreSize]);
 void	vtfileclose(VtFile*);
 VtFile*	_vtfilecreate(VtFile*, int offset, int psize, int dsize, int dir);
 VtFile*	vtfilecreate(VtFile*, int psize, int dsize, int dir);
 VtFile*	vtfilecreateroot(VtCache*, int psize, int dsize, int type);
 int	vtfileflush(VtFile*);
-int	vtfileflushbefore(VtFile*, u64int);
-u32int	vtfilegetdirsize(VtFile*);
+int	vtfileflushbefore(VtFile*, uint64_t);
+uint32_t	vtfilegetdirsize(VtFile*);
 int	vtfilegetentry(VtFile*, VtEntry*);
-uvlong	vtfilegetsize(VtFile*);
+uint64_t	vtfilegetsize(VtFile*);
 void	vtfileincref(VtFile*);
 int	vtfilelock2(VtFile*, VtFile*, int);
 int	vtfilelock(VtFile*, int);
-VtFile*	vtfileopen(VtFile*, u32int, int);
+VtFile*	vtfileopen(VtFile*, uint32_t, int);
 VtFile*	vtfileopenroot(VtCache*, VtEntry*);
-long	vtfileread(VtFile*, void*, long, vlong);
+int32_t	vtfileread(VtFile*, void*, int32_t, int64_t);
 int	vtfileremove(VtFile*);
-int	vtfilesetdirsize(VtFile*, u32int);
+int	vtfilesetdirsize(VtFile*, uint32_t);
 int	vtfilesetentry(VtFile*, VtEntry*);
-int	vtfilesetsize(VtFile*, u64int);
+int	vtfilesetsize(VtFile*, uint64_t);
 int	vtfiletruncate(VtFile*);
 void	vtfileunlock(VtFile*);
-long	vtfilewrite(VtFile*, void*, long, vlong);
+int32_t	vtfilewrite(VtFile*, void*, int32_t, int64_t);
 
 int	vttimefmt(Fmt*);
 
@@ -502,4 +507,4 @@ extern int chattyventi;
 extern int ventidoublechecksha1;
 extern int ventilogging;
 
-extern char *VtServerLog;
+extern int8_t *VtServerLog;