vitasdk
Documentation of the vitasdk
msg_pipe.h
Go to the documentation of this file.
1 
7 #ifndef _PSP2KERN_KERNEL_THREADMGR_MSG_PIPE_H_
8 #define _PSP2KERN_KERNEL_THREADMGR_MSG_PIPE_H_
9 
10 #include <vitasdk/build_utils.h>
11 #include <psp2kern/types.h>
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 
18 typedef struct SceKernelMsgPipeInfo {
21  char name[0x20];
22  int attr;
29 
39 
51 SceUID ksceKernelCreateMsgPipe(const char *name, int type, int attr, SceSize bufSize, void *opt);
52 
61 
62 typedef struct
63 {
64  const void *message;
67 
80 int ksceKernelSendMsgPipeVector(SceUID uid, const MsgPipeSendData *v, unsigned int n, int unk1, void *unk2, unsigned int *timeout);
81 
94 
95 typedef struct
96 {
97  void *message;
100 
113 int ksceKernelReceiveMsgPipeVector(SceUID uid, const MsgPipeRecvData *v, unsigned int n, int unk1, void *unk2, unsigned int *timeout);
114 
127 
137 int ksceKernelCancelMsgPipe(SceUID uid, int *psend, int *precv);
138 
139 
140 #ifdef __cplusplus
141 }
142 #endif
143 
144 #endif /* _PSP2KERN_KERNEL_THREADMGR_MSG_PIPE_H_ */
uint8_t type
0 = read?, 1 = write?, 2 = feature?, 3 = ?
Definition: bt.h:2
SceSize size
struct size(variable size)
Definition: debug.h:0
int num_send_wait_threads
Definition: msg_pipe.h:25
int ksceKernelReceiveMsgPipeVector(SceUID uid, const MsgPipeRecvData *v, unsigned int n, int unk1, void *unk2, unsigned int *timeout)
Receive a message from a pipe.
SceSize size
Definition: msg_pipe.h:19
SceUID ksceKernelCreateMsgPipe(const char *name, int type, int attr, SceSize bufSize, void *opt)
Create a message pipe.
const void * message
Definition: msg_pipe.h:64
int ksceKernelSendMsgPipeVector(SceUID uid, const MsgPipeSendData *v, unsigned int n, int unk1, void *unk2, unsigned int *timeout)
Send a message to a pipe.
int num_receive_wait_threads
Definition: msg_pipe.h:26
int ksceKernelTryReceiveMsgPipeVector(SceUID uid, const MsgPipeRecvData *v, SceSize size, int unk1, void *unk2)
Receive a message from a pipe.
SceSize free_size
Definition: msg_pipe.h:24
char name[0x20]
Definition: msg_pipe.h:21
SceSize buffer_size
Definition: msg_pipe.h:23
SceSize size
Definition: msg_pipe.h:65
int ksceKernelDeleteMsgPipe(SceUID uid)
Delete a message pipe.
int ksceKernelCancelMsgPipe(SceUID uid, int *psend, int *precv)
Cancel a message pipe.
int attr
Definition: msg_pipe.h:22
SceSize size
Definition: msg_pipe.h:98
VITASDK_BUILD_ASSERT_EQ(0x3C, SceKernelMsgPipeInfo)
int ksceKernelTrySendMsgPipeVector(SceUID uid, const MsgPipeSendData *v, SceSize size, int unk1, void *unk2)
Try to send a message to a pipe.
SceUID msgpipe_id
Definition: msg_pipe.h:20
void * message
Definition: msg_pipe.h:97
int ksceKernelGetMsgPipeInfo(SceUID msgpipe_id, SceKernelMsgPipeInfo *info)
Get msgpipe info.
Definition: msg_pipe.h:96
Definition: msg_pipe.h:63
Definition: msg_pipe.h:18
unsigned int SceSize
Definition: types.h:56
int SceUID
UIDs are used to describe many different kernel objects.
Definition: types.h:90
unsigned short unk1
Definition: usbd.h:1