master ohmu/acme2k / src / cmd / acme / fns.h
ohmu  ·  2026-09-21
  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);
 49void	iconinit(void);
 50Timer*	timerstart(int);
 51void	timerstop(Timer*);
 52void	timercancel(Timer*);
 53void	timerinit(void);
 54void	cut(Text*, Text*, Text*, int, int, Rune*, int);
 55void	paste(Text*, Text*, Text*, int, int, Rune*, int);
 56void	get(Text*, Text*, Text*, int, int, Rune*, int);
 57void	put(Text*, Text*, Text*, int, int, Rune*, int);
 58void	putfile(File*, int, int, Rune*, int);
 59void	fontx(Text*, Text*, Text*, int, int, Rune*, int);
 60#undef isalnum
 61#define isalnum acmeisalnum
 62int	isalnum(Rune);
 63void	execute(Text*, uint, uint, int, Text*);
 64int	search(Text*, Rune*, uint);
 65void	look3(Text*, uint, uint, int);
 66void	editcmd(Text*, Rune*, uint);
 67uint	min(uint, uint);
 68uint	max(uint, uint);
 69Window*	lookfile(Rune*, int);
 70Window*	lookid(int, int);
 71char*	runetobyte(Rune*, int);
 72Rune*	bytetorune(char*, int*);
 73void	fsysinit(void);
 74Mntdir*	fsysmount(Rune*, int, Rune**, int);
 75void		fsysdelid(Mntdir*);
 76void		fsysincid(Mntdir*);
 77Xfid*		respond(Xfid*, Fcall*, char*);
 78int		rxcompile(Rune*);
 79int		rgetc(void*, uint);
 80int		tgetc(void*, uint);
 81int		isaddrc(int);
 82int		isregexc(int);
 83void *emalloc(uint);
 84void *erealloc(void*, uint);
 85char	*estrdup(char*);
 86Range		address(uint, Text*, Range, Range, void*, uint, uint, int (*)(void*, uint),  int*, uint*);
 87int		rxexecute(Text*, Rune*, uint, uint, Rangeset*);
 88int		rxbexecute(Text*, uint, Rangeset*);
 89Window*	makenewwindow(Text *t);
 90int	expand(Text*, uint, uint, Expand*);
 91Rune*	skipbl(Rune*, int, int*);
 92Rune*	findbl(Rune*, int, int*);
 93char*	edittext(Window*, int, Rune*, int);
 94void		flushwarnings(void);
 95void		startplumbing(void);
 96long	nlcount(Text*, long, long, long*);
 97long	nlcounttopos(Text*, long, long, long);
 98
 99Runestr	runestr(Rune*, uint);
100Range range(int, int);
101
102#define	runemalloc(a)		(Rune*)emalloc((a)*sizeof(Rune))
103#define	runerealloc(a, b)	(Rune*)erealloc((a), (b)*sizeof(Rune))
104#define	runemove(a, b, c)	memmove((a), (b), (c)*sizeof(Rune))
105
106int	ismtpt(char*);