pspsdk-1.0+beta2
Main Page
Modules
Data Structures
Files
File List
Globals
pspthreadman.h
Go to the documentation of this file.
1
/*
2
* PSP Software Development Kit - http://www.pspdev.org
3
* -----------------------------------------------------------------------
4
* Licensed under the BSD license, see LICENSE in PSPSDK root for details.
5
*
6
* pspthreadman.h - Library imports for the kernel threading library.
7
*
8
* Copyright (c) 2005 Marcus R. Brown <mrbrown@ocgnet.org>
9
* Copyright (c) 2005 James Forshaw <tyranid@gmail.com>
10
* Copyright (c) 2005 John Kelley <ps2dev@kelley.ca>
11
* Copyright (c) 2005 Florin Sasu
12
*
13
* $Id: pspthreadman.h 2433 2008-10-15 10:00:27Z iwn $
14
*/
15
#ifndef __THREADMAN_H__
16
#define __THREADMAN_H__
17
18
#include <
psptypes.h
>
19
#include <
pspkerneltypes.h
>
20
/* Include for profile register definitions */
21
#include <
pspdebug.h
>
22
23
/* Note: Some of the structures, types, and definitions in this file were
24
extrapolated from symbolic debugging information found in the Japanese
25
version of Puzzle Bobble. */
26
31
#ifdef __cplusplus
32
extern
"C"
{
33
#endif
34
38
40
typedef
struct
SceKernelSysClock
{
41
SceUInt32
low
;
42
SceUInt32
hi
;
43
}
SceKernelSysClock
;
44
46
enum
PspThreadAttributes
47
{
49
PSP_THREAD_ATTR_VFPU
= 0x00004000,
52
PSP_THREAD_ATTR_USER
= 0x80000000,
54
PSP_THREAD_ATTR_USBWLAN
= 0xa0000000,
56
PSP_THREAD_ATTR_VSH
= 0xc0000000,
58
PSP_THREAD_ATTR_SCRATCH_SRAM
= 0x00008000,
60
PSP_THREAD_ATTR_NO_FILLSTACK
= 0x00100000,
62
PSP_THREAD_ATTR_CLEAR_STACK
= 0x00200000,
63
};
64
65
/* Maintained for compatibility with older versions of PSPSDK. */
66
#define THREAD_ATTR_VFPU PSP_THREAD_ATTR_VFPU
67
#define THREAD_ATTR_USER PSP_THREAD_ATTR_USER
68
69
70
/* Threads. */
71
72
typedef
int (*
SceKernelThreadEntry
)(
SceSize
args,
void
*argp);
73
75
typedef
struct
SceKernelThreadOptParam
{
77
SceSize
size
;
79
SceUID
stackMpid
;
80
}
SceKernelThreadOptParam
;
81
85
typedef
struct
SceKernelThreadInfo
{
87
SceSize
size
;
89
char
name
[32];
91
SceUInt
attr
;
93
int
status
;
95
SceKernelThreadEntry
entry
;
97
void
*
stack
;
99
int
stackSize
;
101
void
*
gpReg
;
103
int
initPriority
;
105
int
currentPriority
;
107
int
waitType
;
109
SceUID
waitId
;
111
int
wakeupCount
;
113
int
exitStatus
;
115
SceKernelSysClock
runClocks
;
117
SceUInt
intrPreemptCount
;
119
SceUInt
threadPreemptCount
;
121
SceUInt
releaseCount
;
122
}
SceKernelThreadInfo
;
123
127
typedef
struct
SceKernelThreadRunStatus
{
128
SceSize
size
;
129
int
status
;
130
int
currentPriority
;
131
int
waitType
;
132
int
waitId
;
133
int
wakeupCount
;
134
SceKernelSysClock
runClocks
;
135
SceUInt
intrPreemptCount
;
136
SceUInt
threadPreemptCount
;
137
SceUInt
releaseCount
;
138
}
SceKernelThreadRunStatus
;
139
140
/* Sure there must be more than this, but haven't seen them */
141
enum
PspThreadStatus
142
{
143
PSP_THREAD_RUNNING
= 1,
144
PSP_THREAD_READY
= 2,
145
PSP_THREAD_WAITING
= 4,
146
PSP_THREAD_SUSPEND
= 8,
147
PSP_THREAD_STOPPED
= 16,
148
PSP_THREAD_KILLED
= 32,
/* Thread manager has killed the thread (stack overflow) */
149
};
150
169
SceUID
sceKernelCreateThread
(
const
char
*
name
,
SceKernelThreadEntry
entry,
int
initPriority,
170
int
stackSize,
SceUInt
attr
,
SceKernelThreadOptParam
*
option
);
171
179
int
sceKernelDeleteThread
(
SceUID
thid);
180
188
int
sceKernelStartThread
(
SceUID
thid,
SceSize
arglen,
void
*argp);
189
195
int
sceKernelExitThread
(
int
status);
196
202
int
sceKernelExitDeleteThread
(
int
status);
203
211
int
sceKernelTerminateThread
(
SceUID
thid);
212
220
int
sceKernelTerminateDeleteThread
(
SceUID
thid);
221
227
int
sceKernelSuspendDispatchThread
(
void
);
228
237
int
sceKernelResumeDispatchThread
(
int
state);
238
244
int
sceKernelSleepThread
(
void
);
245
255
int
sceKernelSleepThreadCB
(
void
);
256
264
int
sceKernelWakeupThread
(
SceUID
thid);
265
273
int
sceKernelCancelWakeupThread
(
SceUID
thid);
274
282
int
sceKernelSuspendThread
(
SceUID
thid);
283
291
int
sceKernelResumeThread
(
SceUID
thid);
292
301
int
sceKernelWaitThreadEnd
(
SceUID
thid,
SceUInt
*timeout);
302
311
int
sceKernelWaitThreadEndCB
(
SceUID
thid,
SceUInt
*timeout);
312
323
int
sceKernelDelayThread
(
SceUInt
delay);
324
335
int
sceKernelDelayThreadCB
(
SceUInt
delay);
336
344
int
sceKernelDelaySysClockThread
(
SceKernelSysClock
*delay);
345
354
int
sceKernelDelaySysClockThreadCB
(
SceKernelSysClock
*delay);
355
364
int
sceKernelChangeCurrentThreadAttr
(
int
unknown,
SceUInt
attr
);
365
381
int
sceKernelChangeThreadPriority
(
SceUID
thid,
int
priority);
382
390
int
sceKernelRotateThreadReadyQueue
(
int
priority);
391
399
int
sceKernelReleaseWaitThread
(
SceUID
thid);
400
406
int
sceKernelGetThreadId
(
void
);
407
413
int
sceKernelGetThreadCurrentPriority
(
void
);
414
422
int
sceKernelGetThreadExitStatus
(
SceUID
thid);
423
429
int
sceKernelCheckThreadStack
(
void
);
430
439
int
sceKernelGetThreadStackFreeSize
(
SceUID
thid);
440
458
int
sceKernelReferThreadStatus
(
SceUID
thid,
SceKernelThreadInfo
*info);
459
468
int
sceKernelReferThreadRunStatus
(
SceUID
thid,
SceKernelThreadRunStatus
*status);
469
470
471
/* Semaphores. */
472
474
typedef
struct
SceKernelSemaOptParam
{
476
SceSize
size
;
477
}
SceKernelSemaOptParam
;
478
482
typedef
struct
SceKernelSemaInfo
{
484
SceSize
size
;
486
char
name
[32];
488
SceUInt
attr
;
490
int
initCount
;
492
int
currentCount
;
494
int
maxCount
;
496
int
numWaitThreads
;
497
}
SceKernelSemaInfo
;
498
515
SceUID
sceKernelCreateSema
(
const
char
*
name
,
SceUInt
attr
,
int
initVal,
int
maxVal,
SceKernelSemaOptParam
*
option
);
516
523
int
sceKernelDeleteSema
(
SceUID
semaid);
524
539
int
sceKernelSignalSema
(
SceUID
semaid,
int
signal);
540
555
int
sceKernelWaitSema
(
SceUID
semaid,
int
signal,
SceUInt
*timeout);
556
571
int
sceKernelWaitSemaCB
(
SceUID
semaid,
int
signal,
SceUInt
*timeout);
572
581
int
sceKernelPollSema
(
SceUID
semaid,
int
signal);
582
591
int
sceKernelReferSemaStatus
(
SceUID
semaid,
SceKernelSemaInfo
*info);
592
593
594
/* Event flags. */
595
597
typedef
struct
SceKernelEventFlagInfo
{
598
SceSize
size
;
599
char
name
[32];
600
SceUInt
attr
;
601
SceUInt
initPattern
;
602
SceUInt
currentPattern
;
603
int
numWaitThreads
;
604
}
SceKernelEventFlagInfo
;
605
606
struct
SceKernelEventFlagOptParam
{
607
SceSize
size
;
608
};
609
610
typedef
struct
SceKernelEventFlagOptParam
SceKernelEventFlagOptParam
;
611
613
enum
PspEventFlagAttributes
614
{
616
PSP_EVENT_WAITMULTIPLE
= 0x200
617
};
618
620
enum
PspEventFlagWaitTypes
621
{
623
PSP_EVENT_WAITAND
= 0,
625
PSP_EVENT_WAITOR
= 1,
627
PSP_EVENT_WAITCLEAR
= 0x20
628
};
629
645
SceUID
sceKernelCreateEventFlag
(
const
char
*
name
,
int
attr
,
int
bits,
SceKernelEventFlagOptParam
*opt);
646
655
int
sceKernelSetEventFlag
(
SceUID
evid,
u32
bits);
656
665
int
sceKernelClearEventFlag
(
SceUID
evid,
u32
bits);
666
676
int
sceKernelPollEventFlag
(
int
evid,
u32
bits,
u32
wait,
u32
*outBits);
677
688
int
sceKernelWaitEventFlag
(
int
evid,
u32
bits,
u32
wait,
u32
*outBits,
SceUInt
*timeout);
689
700
int
sceKernelWaitEventFlagCB
(
int
evid,
u32
bits,
u32
wait,
u32
*outBits,
SceUInt
*timeout);
701
709
int
sceKernelDeleteEventFlag
(
int
evid);
710
719
int
sceKernelReferEventFlagStatus
(
SceUID
event,
SceKernelEventFlagInfo
*status);
720
721
722
/* Message boxes. */
723
725
typedef
struct
SceKernelMbxOptParam
{
727
SceSize
size
;
728
}
SceKernelMbxOptParam
;
729
733
typedef
struct
SceKernelMbxInfo
{
735
SceSize
size
;
737
char
name
[32];
739
SceUInt
attr
;
741
int
numWaitThreads
;
743
int
numMessages
;
745
void
*
firstMessage
;
746
}
SceKernelMbxInfo
;
747
751
typedef
struct
SceKernelMsgPacket
{
753
struct
SceKernelMsgPacket
*
next
;
755
SceUChar
msgPriority
;
756
SceUChar
dummy
[3];
758
}
SceKernelMsgPacket
;
759
774
SceUID
sceKernelCreateMbx
(
const
char
*
name
,
SceUInt
attr
,
SceKernelMbxOptParam
*
option
);
775
782
int
sceKernelDeleteMbx
(
SceUID
mbxid);
783
806
int
sceKernelSendMbx
(
SceUID
mbxid,
void
*message);
807
824
int
sceKernelReceiveMbx
(
SceUID
mbxid,
void
**pmessage,
SceUInt
*timeout);
825
842
int
sceKernelReceiveMbxCB
(
SceUID
mbxid,
void
**pmessage,
SceUInt
*timeout);
843
859
int
sceKernelPollMbx
(
SceUID
mbxid,
void
**pmessage);
860
876
int
sceKernelCancelReceiveMbx
(
SceUID
mbxid,
int
*pnum);
877
886
int
sceKernelReferMbxStatus
(
SceUID
mbxid,
SceKernelMbxInfo
*info);
887
888
889
/* Alarms. */
890
892
typedef
SceUInt
(*
SceKernelAlarmHandler
)(
void
*common);
893
895
typedef
struct
SceKernelAlarmInfo
{
898
SceSize
size
;
899
/* The current schedule */
900
SceKernelSysClock
schedule
;
902
SceKernelAlarmHandler
handler
;
904
void
*
common
;
905
}
SceKernelAlarmInfo
;
906
915
SceUID
sceKernelSetAlarm
(
SceUInt
clock
,
SceKernelAlarmHandler
handler,
void
*common);
916
926
SceUID
sceKernelSetSysClockAlarm
(
SceKernelSysClock
*
clock
,
SceKernelAlarmHandler
handler,
void
*common);
927
935
int
sceKernelCancelAlarm
(
SceUID
alarmid);
936
945
int
sceKernelReferAlarmStatus
(
SceUID
alarmid,
SceKernelAlarmInfo
*info);
946
947
/* Callbacks. */
948
950
typedef
int (*
SceKernelCallbackFunction
)(
int
arg1,
int
arg2,
void
*arg);
951
953
typedef
struct
SceKernelCallbackInfo
{
955
SceSize
size
;
957
char
name
[32];
959
SceUID
threadId
;
961
SceKernelCallbackFunction
callback
;
963
void
*
common
;
965
int
notifyCount
;
967
int
notifyArg
;
968
}
SceKernelCallbackInfo
;
969
985
int
sceKernelCreateCallback
(
const
char
*
name
,
SceKernelCallbackFunction
func,
void
*arg);
986
996
int
sceKernelReferCallbackStatus
(
SceUID
cb,
SceKernelCallbackInfo
*status);
997
1005
int
sceKernelDeleteCallback
(
SceUID
cb);
1006
1015
int
sceKernelNotifyCallback
(
SceUID
cb,
int
arg2);
1016
1024
int
sceKernelCancelCallback
(
SceUID
cb);
1025
1033
int
sceKernelGetCallbackCount
(
SceUID
cb);
1034
1040
int
sceKernelCheckCallback
(
void
);
1041
1042
/* Misc. */
1043
1045
enum
SceKernelIdListType
1046
{
1047
SCE_KERNEL_TMID_Thread
= 1,
1048
SCE_KERNEL_TMID_Semaphore
= 2,
1049
SCE_KERNEL_TMID_EventFlag
= 3,
1050
SCE_KERNEL_TMID_Mbox
= 4,
1051
SCE_KERNEL_TMID_Vpl
= 5,
1052
SCE_KERNEL_TMID_Fpl
= 6,
1053
SCE_KERNEL_TMID_Mpipe
= 7,
1054
SCE_KERNEL_TMID_Callback
= 8,
1055
SCE_KERNEL_TMID_ThreadEventHandler
= 9,
1056
SCE_KERNEL_TMID_Alarm
= 10,
1057
SCE_KERNEL_TMID_VTimer
= 11,
1058
SCE_KERNEL_TMID_SleepThread
= 64,
1059
SCE_KERNEL_TMID_DelayThread
= 65,
1060
SCE_KERNEL_TMID_SuspendThread
= 66,
1061
SCE_KERNEL_TMID_DormantThread
= 67,
1062
};
1063
1075
int
sceKernelGetThreadmanIdList
(
enum
SceKernelIdListType
type
,
SceUID
*readbuf,
int
readbufsize,
int
*idcount);
1076
1078
typedef
struct
SceKernelSystemStatus
{
1080
SceSize
size
;
1082
SceUInt
status
;
1084
SceKernelSysClock
idleClocks
;
1086
SceUInt
comesOutOfIdleCount
;
1088
SceUInt
threadSwitchCount
;
1090
SceUInt
vfpuSwitchCount
;
1091
}
SceKernelSystemStatus
;
1092
1100
int
sceKernelReferSystemStatus
(
SceKernelSystemStatus
*status);
1101
1102
1114
SceUID
sceKernelCreateMsgPipe
(
const
char
*
name
,
int
part,
int
attr
,
void
*unk1,
void
*opt);
1115
1123
int
sceKernelDeleteMsgPipe
(
SceUID
uid);
1124
1137
int
sceKernelSendMsgPipe
(
SceUID
uid,
void
*message,
unsigned
int
size
,
int
unk1,
void
*unk2,
unsigned
int
*timeout);
1138
1151
int
sceKernelSendMsgPipeCB
(
SceUID
uid,
void
*message,
unsigned
int
size
,
int
unk1,
void
*unk2,
unsigned
int
*timeout);
1152
1164
int
sceKernelTrySendMsgPipe
(
SceUID
uid,
void
*message,
unsigned
int
size
,
int
unk1,
void
*unk2);
1165
1178
int
sceKernelReceiveMsgPipe
(
SceUID
uid,
void
*message,
unsigned
int
size
,
int
unk1,
void
*unk2,
unsigned
int
*timeout);
1179
1192
int
sceKernelReceiveMsgPipeCB
(
SceUID
uid,
void
*message,
unsigned
int
size
,
int
unk1,
void
*unk2,
unsigned
int
*timeout);
1193
1205
int
sceKernelTryReceiveMsgPipe
(
SceUID
uid,
void
*message,
unsigned
int
size
,
int
unk1,
void
*unk2);
1206
1216
int
sceKernelCancelMsgPipe
(
SceUID
uid,
int
*psend,
int
*precv);
1217
1219
typedef
struct
SceKernelMppInfo
{
1220
SceSize
size
;
1221
char
name
[32];
1222
SceUInt
attr
;
1223
int
bufSize
;
1224
int
freeSize
;
1225
int
numSendWaitThreads
;
1226
int
numReceiveWaitThreads
;
1227
}
SceKernelMppInfo
;
1228
1237
int
sceKernelReferMsgPipeStatus
(
SceUID
uid,
SceKernelMppInfo
*info);
1238
1239
/* VPL Functions */
1240
1241
struct
SceKernelVplOptParam
{
1242
SceSize
size
;
1243
};
1244
1256
SceUID
sceKernelCreateVpl
(
const
char
*
name
,
int
part,
int
attr
,
unsigned
int
size
,
struct
SceKernelVplOptParam
*opt);
1257
1265
int
sceKernelDeleteVpl
(
SceUID
uid);
1266
1277
int
sceKernelAllocateVpl
(
SceUID
uid,
unsigned
int
size
,
void
**data,
unsigned
int
*timeout);
1278
1289
int
sceKernelAllocateVplCB
(
SceUID
uid,
unsigned
int
size
,
void
**data,
unsigned
int
*timeout);
1290
1300
int
sceKernelTryAllocateVpl
(
SceUID
uid,
unsigned
int
size
,
void
**data);
1301
1310
int
sceKernelFreeVpl
(
SceUID
uid,
void
*data);
1311
1320
int
sceKernelCancelVpl
(
SceUID
uid,
int
*pnum);
1321
1323
typedef
struct
SceKernelVplInfo
{
1324
SceSize
size
;
1325
char
name
[32];
1326
SceUInt
attr
;
1327
int
poolSize
;
1328
int
freeSize
;
1329
int
numWaitThreads
;
1330
}
SceKernelVplInfo
;
1331
1340
int
sceKernelReferVplStatus
(
SceUID
uid,
SceKernelVplInfo
*info);
1341
1342
/* FPL Functions */
1343
1344
struct
SceKernelFplOptParam
{
1345
SceSize
size
;
1346
};
1347
1360
int
sceKernelCreateFpl
(
const
char
*
name
,
int
part,
int
attr
,
unsigned
int
size
,
unsigned
int
blocks,
struct
SceKernelFplOptParam
*opt);
1361
1369
int
sceKernelDeleteFpl
(
SceUID
uid);
1370
1380
int
sceKernelAllocateFpl
(
SceUID
uid,
void
**data,
unsigned
int
*timeout);
1381
1391
int
sceKernelAllocateFplCB
(
SceUID
uid,
void
**data,
unsigned
int
*timeout);
1392
1401
int
sceKernelTryAllocateFpl
(
SceUID
uid,
void
**data);
1402
1411
int
sceKernelFreeFpl
(
SceUID
uid,
void
*data);
1412
1421
int
sceKernelCancelFpl
(
SceUID
uid,
int
*pnum);
1422
1424
typedef
struct
SceKernelFplInfo
{
1425
SceSize
size
;
1426
char
name
[32];
1427
SceUInt
attr
;
1428
int
blockSize
;
1429
int
numBlocks
;
1430
int
freeBlocks
;
1431
int
numWaitThreads
;
1432
}
SceKernelFplInfo
;
1433
1442
int
sceKernelReferFplStatus
(
SceUID
uid,
SceKernelFplInfo
*info);
1443
1447
void
_sceKernelReturnFromTimerHandler
(
void
);
1448
1453
void
_sceKernelReturnFromCallback
(
void
);
1454
1463
int
sceKernelUSec2SysClock
(
unsigned
int
usec,
SceKernelSysClock
*
clock
);
1464
1472
SceInt64
sceKernelUSec2SysClockWide
(
unsigned
int
usec);
1473
1483
int
sceKernelSysClock2USec
(
SceKernelSysClock
*
clock
,
unsigned
int
*low,
unsigned
int
*high);
1484
1494
int
sceKernelSysClock2USecWide
(
SceInt64
clock
,
unsigned
*low,
unsigned
int
*high);
1495
1503
int
sceKernelGetSystemTime
(
SceKernelSysClock
*
time
);
1504
1510
SceInt64
sceKernelGetSystemTimeWide
(
void
);
1511
1517
unsigned
int
sceKernelGetSystemTimeLow
(
void
);
1518
1519
struct
SceKernelVTimerOptParam
{
1520
SceSize
size
;
1521
};
1522
1531
SceUID
sceKernelCreateVTimer
(
const
char
*
name
,
struct
SceKernelVTimerOptParam
*opt);
1532
1540
int
sceKernelDeleteVTimer
(
SceUID
uid);
1541
1550
int
sceKernelGetVTimerBase
(
SceUID
uid,
SceKernelSysClock
*base);
1551
1559
SceInt64
sceKernelGetVTimerBaseWide
(
SceUID
uid);
1560
1569
int
sceKernelGetVTimerTime
(
SceUID
uid,
SceKernelSysClock
*
time
);
1570
1578
SceInt64
sceKernelGetVTimerTimeWide
(
SceUID
uid);
1579
1588
int
sceKernelSetVTimerTime
(
SceUID
uid,
SceKernelSysClock
*
time
);
1589
1598
SceInt64
sceKernelSetVTimerTimeWide
(
SceUID
uid,
SceInt64
time
);
1599
1607
int
sceKernelStartVTimer
(
SceUID
uid);
1608
1616
int
sceKernelStopVTimer
(
SceUID
uid);
1617
1618
typedef
SceUInt
(*
SceKernelVTimerHandler
)(
SceUID
uid,
SceKernelSysClock
*, SceKernelSysClock *,
void
*);
1619
typedef
SceUInt
(*
SceKernelVTimerHandlerWide
)(
SceUID
uid,
SceInt64
,
SceInt64
,
void
*);
1620
1631
int
sceKernelSetVTimerHandler
(
SceUID
uid, SceKernelSysClock *
time
,
SceKernelVTimerHandler
handler,
void
*common);
1632
1643
int
sceKernelSetVTimerHandlerWide
(
SceUID
uid, SceInt64
time
,
SceKernelVTimerHandlerWide
handler,
void
*common);
1644
1652
int
sceKernelCancelVTimerHandler
(
SceUID
uid);
1653
1654
typedef
struct
SceKernelVTimerInfo
{
1655
SceSize
size
;
1656
char
name
[32];
1657
int
active
;
1658
SceKernelSysClock
base
;
1659
SceKernelSysClock
current
;
1660
SceKernelSysClock
schedule
;
1661
SceKernelVTimerHandler
handler
;
1662
void
*
common
;
1663
}
SceKernelVTimerInfo
;
1664
1673
int
sceKernelReferVTimerStatus
(
SceUID
uid,
SceKernelVTimerInfo
*info);
1674
1679
void
_sceKernelExitThread
(
void
);
1680
1688
enum
SceKernelIdListType
sceKernelGetThreadmanIdType
(
SceUID
uid);
1689
1690
typedef
int (*
SceKernelThreadEventHandler
)(
int
mask,
SceUID
thid,
void
*common);
1691
1693
typedef
struct
SceKernelThreadEventHandlerInfo
{
1694
SceSize
size
;
1695
char
name
[32];
1696
SceUID
threadId
;
1697
int
mask
;
1698
SceKernelThreadEventHandler
handler
;
1699
void
*
common
;
1700
}
SceKernelThreadEventHandlerInfo
;
1701
1702
enum
ThreadEventIds
1703
{
1704
THREADEVENT_ALL
= 0xFFFFFFFF,
1705
THREADEVENT_KERN
= 0xFFFFFFF8,
1706
THREADEVENT_USER
= 0xFFFFFFF0,
1707
THREADEVENT_CURRENT
= 0
1708
};
1709
1710
enum
ThreadEvents
1711
{
1712
THREAD_CREATE
= 1,
1713
THREAD_START
= 2,
1714
THREAD_EXIT
= 4,
1715
THREAD_DELETE
= 8,
1716
};
1717
1729
SceUID
sceKernelRegisterThreadEventHandler
(
const
char
*
name
,
SceUID
threadID,
int
mask,
SceKernelThreadEventHandler
handler,
void
*common);
1730
1738
int
sceKernelReleaseThreadEventHandler
(
SceUID
uid);
1739
1748
int
sceKernelReferThreadEventHandlerStatus
(
SceUID
uid,
struct
SceKernelThreadEventHandlerInfo
*info);
1749
1754
PspDebugProfilerRegs
*
sceKernelReferThreadProfiler
(
void
);
1755
1760
PspDebugProfilerRegs
*
sceKernelReferGlobalProfiler
(
void
);
1761
1764
#ifdef __cplusplus
1765
}
1766
#endif
1767
1768
#endif
src
user
pspthreadman.h
Generated on Sat Apr 9 2016 07:00:25 for pspsdk-1.0+beta2 by
1.8.1.2