enum
{
- UTFmax = 3, /* maximum bytes per rune */
+ UTFmax = 4, /* maximum bytes per rune */
Runesync = 0x80, /* cannot represent part of a UTF sequence (<) */
Runeself = 0x80, /* rune and UTF sequences are the same (<) */
Runeerror = 0xFFFD, /* decoding error in UTF */
- Runemax = 0xFFFF, /* 16 bit rune */
- Runemask = 0xFFFF, /* bits used by runes (see grep) */
+ Runemax = 0x10FFFF, /* 21 bit rune */
+ Runemask = 0x1FFFFF, /* bits used by runes (see grep) */
};
/*
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 void setmalloctag(void*, uintptr);
+extern void setrealloctag(void*, uintptr);
+extern uintptr getmalloctag(void*);
+extern uintptr getrealloctag(void*);
extern void* malloctopoolblock(void*);
/*
#pragma varargck type "lo" ulong
#pragma varargck type "lx" ulong
#pragma varargck type "lb" ulong
+#pragma varargck type "zd" intptr
+#pragma varargck type "zo" intptr
+#pragma varargck type "zx" intptr
+#pragma varargck type "zb" intptr
+#pragma varargck type "zd" uintptr
+#pragma varargck type "zo" uintptr
+#pragma varargck type "zx" uintptr
+#pragma varargck type "zb" uintptr
#pragma varargck type "d" int
#pragma varargck type "o" int
#pragma varargck type "x" int
extern int enc32(char*, int, uchar*, int);
extern int dec16(uchar*, int, char*, int);
extern int enc16(char*, int, uchar*, int);
+extern int dec64chr(int);
+extern int enc64chr(int);
+extern int dec32chr(int);
+extern int enc32chr(int);
+extern int dec16chr(int);
+extern int enc16chr(int);
extern int encodefmt(Fmt*);
extern void exits(char*);
extern double frexp(double, int*);
struct QLp
{
int inuse;
+ int state;
QLp *next;
- char state;
};
typedef
extern int rwakeup(Rendez*);
extern int rwakeupall(Rendez*);
extern void** privalloc(void);
-extern void privfree(void**);
+
+extern void procsetname(char*, ...);
+#pragma varargck argpos procsetname 1
/*
* network dialing
extern NetConnInfo* getnetconninfo(char*, int);
extern void freenetconninfo(NetConnInfo*);
+extern int idn2utf(char*, char*, int);
+extern int utf2idn(char*, char*, int);
+
/*
* system calls
*