master fns.h
ohmu  ·  2026-09-23
  1/*
  2#pragma	varargck	argpos	warning	2
  3#pragma	varargck	argpos	warningew	2
  4*/
  5
  6void	warning(Mntdir*, char*, ...);
  7void	warningew(Window*, Mntdir*, char*, ...);
  8
  9#define	fbufalloc()	emalloc(BUFSIZE)
 10#define	fbuffree(x)	free(x)
 11
 12void	plumblook(Plumbmsg *m);
 13void	plumbshow(Plumbmsg*m);
 14void	acmeputsnarf(void);
 15void	acmegetsnarf(void);
 16int	tempfile(void);
 17void	scrlresize(void);
 18Font*	getfont(int, int, char*);
 19char*	getarg(Text*, int, int, Rune**, int*);
 20char*	getbytearg(Text*, int, int, char**);
 21void	new(Text*, Text*, Text*, int, int, Rune*, int);
 22void	undo(Text*, Text*, Text*, int, int, Rune*, int);
 23void	scrsleep(uint);
 24void	savemouse(Window*);
 25int	restoremouse(Window*);
 26void	clearmouse(void);
 27void	allwindows(void(*)(Window*, void*), void*);
 28uint loadfile(int, uint, int*, int(*)(void*, uint, Rune*, int), void*, DigestState*);
 29void	movetodel(Window*);
 30
 31Window*	errorwin(Mntdir*, int);
 32Window*	errorwinforwin(Window*);
 33Runestr cleanrname(Runestr);
 34void	run(Window*, char*, Rune*, int, int, char*, char*, int);
 35void fsysclose(void);
 36void	setcurtext(Text*, int);
 37int	isfilec(Rune);
 38void	rxinit(void);
 39int rxnull(void);
 40Runestr	dirname(Text*, Rune*, int);
 41void	error(char*);
 42void	cvttorunes(char*, int, Rune*, int*, int*, int*);
 43void*	tmalloc(uint);
 44void	tfree(void);
 45void	killprocs(void);
 46void	killtasks(void);
 47int	runeeq(Rune*, uint, Rune*, uint);
 48int	ALEF_tid(void);
 49
 50Image *tilebit(uint32_t tilebg, char *bgkey, uint32_t tilefg, char *fgkey);
 51void	iconinit(void);
 52int    ispastel(char *color);
 53Timer*	timerstart(int);
 54void	timerstop(Timer*);
 55void	timercancel(Timer*);
 56void	timerinit(void);
 57void	cut(Text*, Text*, Text*, int, int, Rune*, int);
 58void	paste(Text*, Text*, Text*, int, int, Rune*, int);
 59void	get(Text*, Text*, Text*, int, int, Rune*, int);
 60void	put(Text*, Text*, Text*, int, int, Rune*, int);
 61void	putfile(File*, int, int, Rune*, int);
 62void	fontx(Text*, Text*, Text*, int, int, Rune*, int);
 63#undef isalnum
 64#define isalnum acmeisalnum
 65int	isalnum(Rune);
 66void	execute(Text*, uint, uint, int, Text*);
 67int	search(Text*, Rune*, uint);
 68void	look3(Text*, uint, uint, int);
 69void	editcmd(Text*, Rune*, uint);
 70uint	min(uint, uint);
 71uint	max(uint, uint);
 72Window*	lookfile(Rune*, int);
 73Window*	lookid(int, int);
 74char*	runetobyte(Rune*, int);
 75Rune*	bytetorune(char*, int*);
 76void	fsysinit(void);
 77Mntdir*	fsysmount(Rune*, int, Rune**, int);
 78void		fsysdelid(Mntdir*);
 79void		fsysincid(Mntdir*);
 80Xfid*		respond(Xfid*, Fcall*, char*);
 81int		rxcompile(Rune*);
 82int		rgetc(void*, uint);
 83int		tgetc(void*, uint);
 84int		isaddrc(int);
 85int		isregexc(int);
 86void *emalloc(uint);
 87void *erealloc(void*, uint);
 88char	*estrdup(char*);
 89Range		address(uint, Text*, Range, Range, void*, uint, uint, int (*)(void*, uint),  int*, uint*);
 90int		rxexecute(Text*, Rune*, uint, uint, Rangeset*);
 91int		rxbexecute(Text*, uint, Rangeset*);
 92Window*	makenewwindow(Text *t);
 93int	expand(Text*, uint, uint, Expand*);
 94Rune*	skipbl(Rune*, int, int*);
 95Rune*	findbl(Rune*, int, int*);
 96char*	edittext(Window*, int, Rune*, int);
 97void		flushwarnings(void);
 98void		startplumbing(void);
 99long	nlcount(Text*, long, long, long*);
100long	nlcounttopos(Text*, long, long, long);
101
102Runestr	runestr(Rune*, uint);
103Range range(int, int);
104
105#define	runemalloc(a)		(Rune*)emalloc((a)*sizeof(Rune))
106#define	runerealloc(a, b)	(Rune*)erealloc((a), (b)*sizeof(Rune))
107#define	runemove(a, b, c)	memmove((a), (b), (c)*sizeof(Rune))
108
109int	ismtpt(char*);