#ifndef CLIB_SYSMON_PROTOS_H
#define	CLIB_SYSMON_PROTOS_H
/*
**	$VER: sysmon_protos.h 1.12 (26.12.99)
**
**	C prototypes. For use with 32 bit integers only.
**
**	(C) Copyright 1995-1999 by Etienne Vogt
*/

#ifndef  EXEC_TYPES_H
#include <exec/types.h>
#endif

struct TaskInfo *smGetTaskInfo(struct Task *task);
BOOL smFreeze(struct Task *task);
BOOL smUnFreeze(struct Task *task);
BOOL smSleep(ULONG ticks);
VOID smVKPrintf(STRPTR format, APTR values);
/*void smKPrintf(STRPTR format, ...);*/
APTR smVSPrintf(STRPTR buffer, STRPTR format, APTR values);
/*APTR smSPrintf(STRPTR buffer, STRPTR format, ...);*/
BOOL smVSysLog(ULONG priority, STRPTR format, APTR values);
/*BOOL smSysLog(ULONG priority, STRPTR format, ...);*/
struct TaskInfo *smFindTaskInfo(STRPTR name);
struct TaskInfo *smNextTaskInfo(struct TaskInfo *tinfo);
void smHalt(ULONG flags);
/* Functions in V1 or higher	*/
APTR smVSnPrintf(STRPTR buffer, ULONG len, STRPTR format, APTR values);
/*APTR smSnPrintf(STRPTR buffer, ULONG len, STRPTR format, ...);*/
struct Node *smFindNode(struct List *list, struct Node *node);
void smAddBroadcastPort(struct MsgPort *port);
void smRemBroadcastPort(struct MsgPort *port);
LONG smSendBroadcastMsg(struct BroadcastMsg *bcmsg);
APTR smGetVBR(void);
/*APTR smMoveVBR(void);*/
void smLockTaskTable(ULONG flags);
void smUnLockTaskTable(ULONG flags);
void smDisallowExcept(void);
void smAllowExcept(void);
void smHibernate(void);
void smWakeUp(struct Task *task);
void smScheduleWakeUp(struct timerequest *timereq);
void smEndExcept(BOOL cleanup);
ULONG smWaitAnd(ULONG signalSet);

#endif	/* CLIB_SYSMON_PROTOS_H	*/
