jehanne/sys/src/cmd/acme/fns.h

102 lines
3.4 KiB
C

/*
* This file is part of the UCB release of Plan 9. It is subject to the license
* terms in the LICENSE file found in the top-level directory of this
* distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
* part of the UCB release of Plan 9, including this file, may be copied,
* modified, propagated, or distributed except according to the terms contained
* in the LICENSE file.
*/
#pragma varargck argpos warning 2
void warning(Mntdir*, char*, ...);
#define fbufalloc() emalloc(BUFSIZE)
#define fbuffree(x) free(x)
void plumblook(Plumbmsg*m);
void plumbshow(Plumbmsg*m);
void putsnarf(void);
void getsnarf(void);
int tempfile(void);
void scrlresize(void);
Font* getfont(int, int, char*);
char* getarg(Text*, int, int, Rune**, int*);
char* getbytearg(Text*, int, int, char**);
void new(Text*, Text*, Text*, int, int, Rune*, int);
void undo(Text*, Text*, Text*, int, int, Rune*, int);
char* getname(Text*, Text*, Rune*, int, int);
void scrsleep(uint32_t);
void savemouse(Window*);
void restoremouse(Window*);
void clearmouse(void);
void allwindows(void(*)(Window*, void*), void*);
uint32_t loadfile(int, uint32_t, int*, int(*)(void*, uint32_t, Rune*, int), void*);
Window* errorwin(Mntdir*, int);
Window* errorwinforwin(Window*);
Runestr cleanrname(Runestr);
void run(Window*, char*, Rune*, int, int, char*, char*, int);
void fsysclose(void);
void setcurtext(Text*, int);
int isfilec(Rune);
void rxinit(void);
int rxnull(void);
Runestr dirname(Text*, Rune*, int);
void error(char*);
void cvttorunes(char*, int, Rune*, int*, int*, int*);
void* tmalloc(uint32_t);
void tfree(void);
void killprocs(void);
void killtasks(void);
int runeeq(Rune*, uint32_t, Rune*, uint32_t);
int ALEF_tid(void);
void iconinit(void);
Timer* timerstart(int);
void timerstop(Timer*);
void timercancel(Timer*);
void timerinit(void);
void cut(Text*, Text*, Text*, int, int, Rune*, int);
void paste(Text*, Text*, Text*, int, int, Rune*, int);
void get(Text*, Text*, Text*, int, int, Rune*, int);
void put(Text*, Text*, Text*, int, int, Rune*, int);
void putfile(File*, int, int, Rune*, int);
void fontx(Text*, Text*, Text*, int, int, Rune*, int);
int isalnum(Rune);
void execute(Text*, uint32_t, uint32_t, int, Text*);
int search(Text*, Rune*, uint32_t);
void look3(Text*, uint32_t, uint32_t, int);
void editcmd(Text*, Rune*, uint32_t);
uint32_t min(uint32_t, uint32_t);
uint32_t max(uint32_t, uint32_t);
Window* lookfile(Rune*, int);
Window* lookid(int, int);
char* runetobyte(Rune*, int);
Rune* bytetorune(char*, int*);
void fsysinit(void);
Mntdir* fsysmount(Rune*, int, Rune**, int);
void fsysincid(Mntdir*);
void fsysdelid(Mntdir*);
Xfid* respond(Xfid*, Fcall*, char*);
int rxcompile(Rune*);
int rgetc(void*, uint32_t);
int tgetc(void*, uint32_t);
int isaddrc(int);
int isregexc(int);
void *emalloc(uint32_t);
void *erealloc(void*, uint32_t);
char *estrdup(char*);
Range address(Mntdir*, Text*, Range, Range, void*, uint32_t, uint32_t, int (*)(void*, uint32_t), int*, uint32_t*);
int rxexecute(Text*, Rune*, uint32_t, uint32_t, Rangeset*);
int rxbexecute(Text*, uint32_t, Rangeset*);
Window* makenewwindow(Text *t);
int expand(Text*, uint32_t, uint32_t, Expand*);
Rune* skipbl(Rune*, int, int*);
Rune* findbl(Rune*, int, int*);
char* edittext(Window*, int, Rune*, int);
void flushwarnings(void);
#define runemalloc(a) (Rune*)emalloc((a)*sizeof(Rune))
#define runerealloc(a, b) (Rune*)erealloc((a), (b)*sizeof(Rune))
#define runemove(a, b, c) memmove((a), (b), (c)*sizeof(Rune))