Files
pspsdk/src/kernel/pspsysevent.h
Carsten Teibes 7c6e46b487 Remove outdated svn ids, change url, fix permissions
Convert to unix line endings
2020-05-08 00:50:41 +02:00

89 lines
2.3 KiB
C

/*
* PSP Software Development Kit - https://github.com/pspdev
* -----------------------------------------------------------------------
* Licensed under the BSD license, see LICENSE in PSPSDK root for details.
*
* pspsysevent.h - Prototypes for the sceSysEventForKernel library
*
* Copyright (c) 2007 Iaroslav Gaponenko <adrahil@gmail.com>
*
*/
#ifndef __PSPSYSEVENT_H__
#define __PSPSYSEVENT_H__
#ifdef __cplusplus
extern "C" {
#endif
typedef struct PspSysEventHandler _PspSysEventHandler;
typedef int (*PspSysEventHandlerFunc)(int ev_id, char* ev_name, void* param, int* result);
typedef struct PspSysEventHandler{
int size;
char* name;
int type_mask;
int (*handler)(int ev_id, char* ev_name, void* param, int* result);
int r28;
int busy;
_PspSysEventHandler *next;
int reserved[9];
}PspSysEventHandler;
/**
* Dispatch a SysEvent event.
*
* @param ev_type_mask - the event type mask
* @param ev_id - the event id
* @param ev_name - the event name
* @param param - the pointer to the custom parameters
* @param result - the pointer to the result
* @param break_nonzero - set to 1 to interrupt the calling chain after the first non-zero return
* @param break_handler - the pointer to the event handler having interrupted
* @return 0 on success, < 0 on error
*/
int sceKernelSysEventDispatch(int ev_type_mask, int ev_id, char* ev_name, void* param, int* result, int break_nonzero, PspSysEventHandler* break_handler);
/**
* Get the first SysEvent handler (the rest can be found with the linked list).
*
* @return 0 on error, handler on success
*/
PspSysEventHandler* sceKernelReferSysEventHandler(void);
/**
* Check if a SysEvent handler is registered.
*
* @param handler - the handler to check
* @return 0 if the handler is not registered
*/
int sceKernelIsRegisterSysEventHandler(PspSysEventHandler* handler);
/**
* Register a SysEvent handler.
*
* @param handler - the handler to register
* @return 0 on success, < 0 on error
*/
int sceKernelRegisterSysEventHandler(PspSysEventHandler* handler);
/**
* Unregister a SysEvent handler.
*
* @param handler - the handler to unregister
* @return 0 on success, < 0 on error
*/
int sceKernelUnregisterSysEventHandler(PspSysEventHandler* handler);
#ifdef __cplusplus
}
#endif
#endif