Nilorea Library
C utilities for networking, threading, graphics
n_network_msg.h File Reference

Network messages , serialization tools. More...

#include <sys/param.h>
#include "n_str.h"
#include "n_list.h"
#include "n_3d.h"
+ Include dependency graph for n_network_msg.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  NETW_MSG
 network message, array of char and int More...
 

Macros

#define NETMSG_BOX   8
 Network Message is box retrieving reply: (int x , int y , int z , N_STR *data ) More...
 
#define NETMSG_GET_BOX   7
 Network Message is box retrieve: int x , int y , int z. More...
 
#define NETMSG_IDENT_REPLY_NOK   2
 Network Message is identification reply NON OK: (int)type , (int)id , (N_STR *)name , (N_STR *)password. More...
 
#define NETMSG_IDENT_REPLY_OK   1
 Network Message is identification reply OK : (int)type , (int)id , (N_STR *)name , (N_STR *)password. More...
 
#define NETMSG_IDENT_REQUEST   0
 Network Message is identification request: (int)type , (int)id , (N_STR *)name , (N_STR *)password. More...
 
#define NETMSG_PING_REPLY   6
 Network Message is ping reply: (int)type , (int)id_from , (int)id_to. More...
 
#define NETMSG_PING_REQUEST   5
 Network Message is ping request: (int)type , (int)id_from , (int)id_to. More...
 
#define NETMSG_POSITION   4
 Network Message position: (int)type , (int)id , (int)X , (int)Y , (int)x_shift , (int)y_shift ,(int)vx ,(int)vy , (int)speed , (int)acceleration , (int)time_stamp. More...
 
#define NETMSG_QUIT   9
 Network asking for exit. More...
 
#define NETMSG_STRING   3
 Network Message is string: (int)type , (int)id , (N_STR *)name , (N_STR *)chan , (N_STR *)text , (int)color. More...
 

Functions

int add_int_to_msg (NETW_MSG *msg, int value)
 Add an int to the int list int the message. More...
 
int add_nb_to_msg (NETW_MSG *msg, double value)
 Add an float to the message. More...
 
int add_nstrdup_to_msg (NETW_MSG *msg, N_STR *str)
 Add a copy of str to the string list in the message. More...
 
int add_nstrptr_to_msg (NETW_MSG *msg, N_STR *str)
 Add a string to the string list in the message. More...
 
int add_strdup_to_msg (NETW_MSG *msg, const char *str)
 Add a copy of char *str to the string list in the message. More...
 
int create_msg (NETW_MSG **msg)
 Create a NETW_MSG *object. More...
 
int delete_msg (NETW_MSG **msg)
 Delete a NETW_MSG *object. More...
 
double double_swap (double value)
 Swap bytes endiannes for a double. More...
 
int empty_msg (NETW_MSG **msg)
 Empty a NETW_MSG *object. More...
 
int get_int_from_msg (NETW_MSG *msg, int *value)
 Get a number from a message number list. More...
 
int get_nb_from_msg (NETW_MSG *msg, double *value)
 Get a number from a message number list. More...
 
int get_nstr_from_msg (NETW_MSG *msg, N_STR **str)
 Get a string from a message string list. More...
 
int get_str_from_msg (NETW_MSG *msg, char **str)
 Get a string from a message string list. More...
 
double htond (double value)
 If needed swap bytes for a double. More...
 
NETW_MSGmake_msg_from_str (N_STR *str)
 Make a single message of the string. More...
 
N_STRmake_str_from_msg (NETW_MSG *msg)
 Make a single string of the message. More...
 
N_STRnetmsg_make_ident (int type, int id, N_STR *name, N_STR *passwd)
 Add a formatted NETWMSG_IDENT message to the specified network. More...
 
N_STRnetmsg_make_ping (int type, int id_from, int id_to, int time)
 Make a ping message to send to a network. More...
 
N_STRnetmsg_make_position_msg (int id, double X, double Y, double vx, double vy, double acc_x, double acc_y, int time_stamp)
 make a network NETMSG_POSITION message with given parameters More...
 
N_STRnetmsg_make_quit_msg (void)
 make a generic network NETMSG_QUIT message More...
 
N_STRnetmsg_make_string_msg (int id_from, int id_to, N_STR *name, N_STR *chan, N_STR *txt, int color)
 make a network NETMSG_STRING message with given parameters More...
 
int netw_get_ident (N_STR *msg, int *type, int *ident, N_STR **name, N_STR **passwd)
 Retrieves identification from netwmsg. More...
 
int netw_get_ping (N_STR *msg, int *type, int *from, int *to, int *time)
 Retrieves a ping travel elapsed time. More...
 
int netw_get_position (N_STR *msg, int *id, double *X, double *Y, double *vx, double *vy, double *acc_x, double *acc_y, int *time_stamp)
 Retrieves position from netwmsg. More...
 
int netw_get_quit (N_STR *msg)
 get a formatted NETWMSG_QUIT message from the specified network More...
 
int netw_get_string (N_STR *msg, int *id, N_STR **name, N_STR **chan, N_STR **txt, int *color)
 Retrieves string from netwmsg. More...
 
int netw_msg_get_type (N_STR *msg)
 Get the type of message without killing the first number. Use with netw_get_XXX. More...
 
double ntohd (double value)
 If needed swap bytes for a double. More...
 

Detailed Description

Network messages , serialization tools.

Author
Castagnier Mickael
Version
1.0
Date
10/05/2005

Definition in file n_network_msg.h.