pspnet_adhocctl.h

Go to the documentation of this file.
00001 /*
00002  * PSP Software Development Kit - http://www.pspdev.org
00003  * -----------------------------------------------------------------------
00004  * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
00005  *
00006  * pspnet_adhocctl.h - PSP Adhoc control networking libraries.
00007  *
00008  * Copyright (c) 2006 James F.
00009  * Copyright (c) 2008 InsertWittyName <tias_dp@hotmail.com>
00010  *
00011  * Based on the adhoc code in SMS Plus
00012  * 
00013  * $Id: pspnet_adhocctl.h 2433 2008-10-15 10:00:27Z iwn $
00014  */
00015 #ifndef __PSPNETCTL_ADHOC_H__
00016 #define __PSPNETCTL_ADHOC_H__
00017 
00018 #ifdef __cplusplus
00019 extern "C" {
00020 #endif
00021 
00023 struct productStruct
00024 {
00026         int unknown;
00028         char product[9];
00029 } productStruct;
00030 
00032 struct SceNetAdhocctlPeerInfo
00033 {
00034         struct SceNetAdhocctlPeerInfo *next;
00036         char nickname[128];     
00038         unsigned char mac[6];
00040         unsigned char unknown[6];
00042         unsigned long timestamp;
00043 };
00044 
00046 struct SceNetAdhocctlScanInfo
00047 {
00048         struct SceNetAdhocctlScanInfo *next;
00050         int channel;
00052         char name[8];
00054         unsigned char bssid[6];
00056         unsigned char unknown[2];
00058         int unknown2;
00059 };
00060 
00061 struct SceNetAdhocctlGameModeInfo
00062 {
00064         int count;
00066         unsigned char macs[16][6];
00067 };
00068 
00070 struct SceNetAdhocctlParams
00071 {
00073         int channel;
00075         char name[8];
00077         unsigned char bssid[6];
00079         char nickname[128];
00080 };
00081 
00091 int sceNetAdhocctlInit(int stacksize, int priority, struct productStruct *product);
00092 
00098 int sceNetAdhocctlTerm(void);
00099 
00107 int sceNetAdhocctlConnect(const char *name);
00108 
00114 int sceNetAdhocctlDisconnect(void);
00115 
00123 int sceNetAdhocctlGetState(int *event);
00124 
00132 int sceNetAdhocctlCreate(const char *name);
00133 
00141 int sceNetAdhocctlJoin(struct SceNetAdhocctlScanInfo *scaninfo);
00142 
00150 int sceNetAdhocctlGetAdhocId(struct productStruct *product);
00151 
00164 int sceNetAdhocctlCreateEnterGameMode(const char *name, int unknown, int num, unsigned char *macs, unsigned int timeout, int unknown2);
00165 
00176 int sceNetAdhocctlJoinEnterGameMode(const char *name, unsigned char *hostmac, unsigned int timeout, int unknown);
00177 
00185 int sceNetAdhocctlGetGameModeInfo(struct SceNetAdhocctlGameModeInfo *gamemodeinfo);
00186 
00192 int sceNetAdhocctlExitGameMode(void);
00193 
00202 int sceNetAdhocctlGetPeerList(int *length, void *buf);
00203 
00213 int sceNetAdhocctlGetPeerInfo(unsigned char *mac, int size, struct SceNetAdhocctlPeerInfo *peerinfo);
00214 
00220 int sceNetAdhocctlScan(void);
00221 
00230 int sceNetAdhocctlGetScanInfo(int *length, void *buf);
00231 
00232 typedef void (*sceNetAdhocctlHandler)(int flag, int error, void *unknown);
00233 
00242 int sceNetAdhocctlAddHandler(sceNetAdhocctlHandler handler, void *unknown);
00243 
00251 int sceNetAdhocctlDelHandler(int id);
00252 
00261 int sceNetAdhocctlGetNameByAddr(unsigned char *mac, char *nickname);
00262 
00272 int sceNetAdhocctlGetAddrByName(char *nickname, int *length, void *buf);
00273 
00281 int sceNetAdhocctlGetParameter(struct SceNetAdhocctlParams *params);
00282 
00283 #ifdef __cplusplus
00284 }
00285 #endif
00286 
00287 #endif