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