RetroArch
|
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <boolean.h>
#include <compat/strl.h>
#include <string/stdstring.h>
#include <rhash.h>
#include <retro_timers.h>
#include "netplay_private.h"
#include "../../autosave.h"
#include "../../configuration.h"
#include "../../content.h"
#include "../../retroarch.h"
#include "../../version.h"
Classes | |
struct | nick_buf_s |
struct | password_buf_s |
struct | info_buf_s |
Macros | |
#define | RECV(buf, sz) |
Variables | |
const uint32_t | netplay_magic = 0x52414E50 |
static unsigned long | simple_rand_next = 1 |
static netplay_t * | handshake_password_netplay = NULL |
#define RECV | ( | buf, | |
sz | |||
) |
netplay_endian_mismatch
Do the platform magics mismatch on endianness?
bool netplay_handshake | ( | netplay_t * | netplay, |
struct netplay_connection * | connection, | ||
bool * | had_input | ||
) |
netplay_handshake
Data receiver for all handshake states.
bool netplay_handshake_info | ( | netplay_t * | netplay, |
struct netplay_connection * | connection | ||
) |
netplay_handshake_info
Send an INFO command.
bool netplay_handshake_init | ( | netplay_t * | netplay, |
struct netplay_connection * | connection, | ||
bool * | had_input | ||
) |
netplay_handshake_init
Data receiver for the initial part of the handshake, i.e., waiting for the netplay header.
bool netplay_handshake_init_send | ( | netplay_t * | netplay, |
struct netplay_connection * | connection | ||
) |
netplay_handshake_init_send
Initialize our handshake and send the first part of the handshake protocol.
bool netplay_handshake_pre_info | ( | netplay_t * | netplay, |
struct netplay_connection * | connection, | ||
bool * | had_input | ||
) |
netplay_handshake_pre_info
Data receiver for the third stage of server handshake, receiving the password.
bool netplay_handshake_pre_nick | ( | netplay_t * | netplay, |
struct netplay_connection * | connection, | ||
bool * | had_input | ||
) |
netplay_handshake_pre_nick
Data receiver for the second stage of handshake, receiving the other side's nickname.
bool netplay_handshake_pre_password | ( | netplay_t * | netplay, |
struct netplay_connection * | connection, | ||
bool * | had_input | ||
) |
netplay_handshake_pre_password
Data receiver for the third, optional stage of server handshake, receiving the password and sending core/content info.
bool netplay_handshake_pre_sync | ( | netplay_t * | netplay, |
struct netplay_connection * | connection, | ||
bool * | had_input | ||
) |
netplay_handshake_pre_sync
Data receiver for the client's third handshake stage, receiving the synchronization information.
|
static |
bool netplay_handshake_sync | ( | netplay_t * | netplay, |
struct netplay_connection * | connection | ||
) |
netplay_handshake_sync
Send a SYNC command.
netplay_impl_magic:
A pseudo-hash of the RetroArch and Netplay version, so only compatible versions play together.
void netplay_log_connection | ( | const struct sockaddr_storage * | their_addr, |
unsigned | slot, | ||
const char * | nick, | ||
char * | s, | ||
size_t | len | ||
) |
netplay_platform_magic
Just enough info to tell us if our platforms mismatch: Endianness and a couple of type sizes.
Format: bit 31: Reserved bit 30: 1 for big endian bits 29-15: sizeof(size_t) bits 14-0: sizeof(long)
|
static |
|
static |
|
static |