xref: /netbsd-src/sys/arch/mips/pmon/pmon.h (revision 62c4d5a467f20ed21d9e5ff653833f6095d54d80)
1 /*	$OpenBSD: pmon.h,v 1.2 2010/02/14 22:39:33 miod Exp $	*/
2 
3 /*
4  * Copyright (c) 2009 Miodrag Vallat.
5  *
6  * Permission to use, copy, modify, and distribute this software for any
7  * purpose with or without fee is hereby granted, provided that the above
8  * copyright notice and this permission notice appear in all copies.
9  *
10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 #ifndef	_MACHINE_PMON_H_
20 #define	_MACHINE_PMON_H_
21 
22 #if defined(_KERNEL) || defined(_STANDALONE)
23 
24 /*
25  * PMON2000 callvec definitions
26  */
27 
28 /* 32-bit compatible types */
29 typedef	uint32_t	pmon_size_t;
30 typedef	int32_t		pmon_ssize_t;
31 typedef int64_t		pmon_off_t;
32 
33 int		pmon_open(const char *, int, ...);
34 int		pmon_close(int);
35 int		pmon_read(int, void *, pmon_size_t);
36 pmon_ssize_t	pmon_write(int, const void *, pmon_size_t);
37 pmon_off_t	pmon_lseek(int, pmon_off_t, int);
38 int		pmon_printf(const char *, ...);
39 void		pmon_cacheflush(void);
40 char *		pmon_gets(char *);
41 
42 #define	PMON_MAXLN	256	/* internal gets() size limit */
43 
44 extern int32_t pmon_callvec;
45 
46 const char	*pmon_getarg(const int);
47 const char	*pmon_getenv(const char *);
48 void		 pmon_init(int32_t, int32_t, int32_t, int32_t);
49 
50 #endif	/* _KERNEL || _STANDALONE */
51 
52 #endif	/* _MACHINE_PMON_H_ */
53