Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

core/gnutella.h File Reference

#include "common.h"
#include "if/core/gnutella.h"

Go to the source code of this file.

Defines

#define GTA_MSGV_QRP_RESET   0x00
#define GTA_MSGV_QRP_PATCH   0x01

Typedefs

typedef guint8 gnutella_msg_init_t [GTA_HEADER_SIZE]
 NOTE: The structures are only shown for documentation and readability purposes.
typedef guint8 gnutella_init_response_t [14]
typedef guint8 gnutella_msg_init_response_t [GTA_HEADER_SIZE+sizeof(gnutella_init_response_t)]
typedef guint8 gnutella_search_results_t [11]
typedef guint8 gnutella_msg_search_results_t [GTA_HEADER_SIZE+sizeof(gnutella_search_results_t)]
typedef guint8 gnutella_search_t [2]
typedef guint8 gnutella_msg_search_t [GTA_HEADER_SIZE+sizeof(gnutella_search_t)]
typedef guint8 gnutella_push_request_t [26]
typedef guint8 gnutella_msg_push_request_t [GTA_HEADER_SIZE+sizeof(gnutella_push_request_t)]
typedef guint8 gnutella_bye_t [2]
typedef guint8 gnutella_qrp_reset_t [6]
typedef guint8 gnutella_msg_qrp_reset_t [GTA_HEADER_SIZE+sizeof(gnutella_qrp_reset_t)]
typedef guint8 gnutella_qrp_patch_t [5]
typedef guint8 gnutella_msg_qrp_patch_t [GTA_HEADER_SIZE+sizeof(gnutella_qrp_patch_t)]
typedef guint8 gnutella_vendor_t [8]
typedef guint8 gnutella_msg_vendor_ [GTA_HEADER_SIZE+sizeof(gnutella_vendor_t)]
typedef guint8 gnutella_msg_hsep_t [GTA_HEADER_SIZE+3 *8]

Functions

guint16 gnutella_init_response_get_host_port (const void *data)
guint32 gnutella_init_response_get_host_ip (const void *data)
guint32 gnutella_init_response_get_files_count (const void *data)
guint32 gnutella_init_response_get_kbytes_count (const void *data)
gnutella_header_tgnutella_msg_init_response_header (gnutella_msg_init_response_t *msg)
void gnutella_msg_init_response_set_host_port (gnutella_msg_init_response_t *msg, guint16 port)
void gnutella_msg_init_response_set_host_ip (gnutella_msg_init_response_t *msg, guint32 ip)
void gnutella_msg_init_response_set_files_count (gnutella_msg_init_response_t *msg, guint32 files_count)
void gnutella_msg_init_response_set_kbytes_count (gnutella_msg_init_response_t *msg, guint32 kbytes_count)
guint8 gnutella_search_results_get_num_recs (const void *data)
guint16 gnutella_search_results_get_host_port (const void *data)
guint32 gnutella_search_results_get_host_ip (const void *data)
guint32 gnutella_search_results_get_host_speed (const void *data)
gnutella_header_tgnutella_msg_search_results_header (gnutella_msg_search_results_t *msg)
void gnutella_msg_search_results_set_num_recs (gnutella_msg_search_results_t *msg, guint8 num_recs)
void gnutella_msg_search_results_set_host_port (gnutella_msg_search_results_t *msg, guint16 port)
void gnutella_msg_search_results_set_host_ip (gnutella_msg_search_results_t *msg, guint32 ip)
void gnutella_msg_search_results_set_host_speed (gnutella_msg_search_results_t *msg, guint32 speed)
gnutella_header_tgnutella_msg_search_header (gnutella_msg_search_t *msg)
void gnutella_msg_search_set_speed (gnutella_msg_search_t *msg, guint16 speed)
const gchar * gnutella_msg_search_get_text (const void *data)
gnutella_header_tgnutella_msg_push_request_header (gnutella_msg_push_request_t *msg)
void gnutella_msg_push_request_set_guid (gnutella_msg_push_request_t *msg, const gchar *guid)
void gnutella_msg_push_request_set_file_id (gnutella_msg_push_request_t *msg, guint32 file_id)
void gnutella_msg_push_request_set_host_ip (gnutella_msg_push_request_t *msg, guint32 ip)
void gnutella_msg_push_request_set_host_port (gnutella_msg_push_request_t *msg, guint16 port)
void gnutella_bye_set_code (void *data, guint16 code)
guint8 gnutella_qrp_reset_get_variant (const void *data)
guint32 gnutella_qrp_reset_get_table_length (const void *data)
guint8 gnutella_qrp_reset_get_infinity (const void *data)
gnutella_header_tgnutella_msg_qrp_reset_header (gnutella_msg_qrp_reset_t *msg)
void gnutella_msg_qrp_reset_set_variant (gnutella_msg_qrp_reset_t *msg, guint8 variant)
void gnutella_msg_qrp_reset_set_table_length (gnutella_msg_qrp_reset_t *msg, guint32 table_length)
void gnutella_msg_qrp_reset_set_infinity (gnutella_msg_qrp_reset_t *msg, guint8 infinity)
guint8 gnutella_qrp_patch_get_variant (const void *data)
guint8 gnutella_qrp_patch_get_seq_no (const void *data)
guint8 gnutella_qrp_patch_get_seq_size (const void *data)
guint8 gnutella_qrp_patch_get_compressor (const void *data)
guint8 gnutella_qrp_patch_get_entry_bits (const void *data)
gnutella_header_tgnutella_msg_qrp_patch_header (gnutella_msg_qrp_patch_t *msg)
void gnutella_msg_qrp_patch_set_variant (gnutella_msg_qrp_patch_t *msg, guint8 variant)
void gnutella_msg_qrp_patch_set_seq_no (gnutella_msg_qrp_patch_t *msg, guint8 seq_no)
void gnutella_msg_qrp_patch_set_seq_size (gnutella_msg_qrp_patch_t *msg, guint8 seq_size)
void gnutella_msg_qrp_patch_set_compressor (gnutella_msg_qrp_patch_t *msg, guint8 compressor)
void gnutella_msg_qrp_patch_set_entry_bits (gnutella_msg_qrp_patch_t *msg, guint8 entry_bits)
guint32 gnutella_vendor_get_code (const void *data)
void gnutella_vendor_set_code (gnutella_vendor_t *data, guint32 code)
guint16 gnutella_vendor_get_selector_id (const void *data)
void gnutella_vendor_set_selector_id (gnutella_vendor_t *data, guint16 selector_id)
guint16 gnutella_vendor_get_version (const void *data)
void gnutella_vendor_set_version (gnutella_vendor_t *data, guint16 version)
gnutella_header_tgnutella_msg_hsep_header (gnutella_msg_hsep_t *msg)
void gnutella_msg_size_check (void)


Define Documentation

#define GTA_MSGV_QRP_PATCH   0x01
 

#define GTA_MSGV_QRP_RESET   0x00
 


Typedef Documentation

typedef guint8 gnutella_bye_t[2]
 

typedef guint8 gnutella_init_response_t[14]
 

typedef guint8 gnutella_msg_hsep_t[GTA_HEADER_SIZE+3 *8]
 

typedef guint8 gnutella_msg_init_response_t[GTA_HEADER_SIZE+sizeof(gnutella_init_response_t)]
 

typedef guint8 gnutella_msg_init_t[GTA_HEADER_SIZE]
 

NOTE: The structures are only shown for documentation and readability purposes.

Unfortunately, there is no portable way (i.e., without resorting to compiler-specific extensions) to map any kind of structure directly to binary packets as structures may contain padding between members and at the end even if a structure consists of nothing but char arrays. Therefore, accessor functions are used instead to guarantee that the correct bytes of a packet are read and written.

typedef guint8 gnutella_msg_push_request_t[GTA_HEADER_SIZE+sizeof(gnutella_push_request_t)]
 

typedef guint8 gnutella_msg_qrp_patch_t[GTA_HEADER_SIZE+sizeof(gnutella_qrp_patch_t)]
 

typedef guint8 gnutella_msg_qrp_reset_t[GTA_HEADER_SIZE+sizeof(gnutella_qrp_reset_t)]
 

typedef guint8 gnutella_msg_search_results_t[GTA_HEADER_SIZE+sizeof(gnutella_search_results_t)]
 

typedef guint8 gnutella_msg_search_t[GTA_HEADER_SIZE+sizeof(gnutella_search_t)]
 

typedef guint8 gnutella_msg_vendor_[GTA_HEADER_SIZE+sizeof(gnutella_vendor_t)]
 

typedef guint8 gnutella_push_request_t[26]
 

typedef guint8 gnutella_qrp_patch_t[5]
 

typedef guint8 gnutella_qrp_reset_t[6]
 

typedef guint8 gnutella_search_results_t[11]
 

typedef guint8 gnutella_search_t[2]
 

typedef guint8 gnutella_vendor_t[8]
 


Function Documentation

void gnutella_bye_set_code void *  data,
guint16  code
[inline, static]
 

guint32 gnutella_init_response_get_files_count const void *  data  )  [inline, static]
 

guint32 gnutella_init_response_get_host_ip const void *  data  )  [inline, static]
 

guint16 gnutella_init_response_get_host_port const void *  data  )  [inline, static]
 

guint32 gnutella_init_response_get_kbytes_count const void *  data  )  [inline, static]
 

gnutella_header_t* gnutella_msg_hsep_header gnutella_msg_hsep_t msg  )  [inline, static]
 

gnutella_header_t* gnutella_msg_init_response_header gnutella_msg_init_response_t msg  )  [inline, static]
 

void gnutella_msg_init_response_set_files_count gnutella_msg_init_response_t msg,
guint32  files_count
[inline, static]
 

void gnutella_msg_init_response_set_host_ip gnutella_msg_init_response_t msg,
guint32  ip
[inline, static]
 

void gnutella_msg_init_response_set_host_port gnutella_msg_init_response_t msg,
guint16  port
[inline, static]
 

void gnutella_msg_init_response_set_kbytes_count gnutella_msg_init_response_t msg,
guint32  kbytes_count
[inline, static]
 

gnutella_header_t* gnutella_msg_push_request_header gnutella_msg_push_request_t msg  )  [inline, static]
 

void gnutella_msg_push_request_set_file_id gnutella_msg_push_request_t msg,
guint32  file_id
[inline, static]
 

void gnutella_msg_push_request_set_guid gnutella_msg_push_request_t msg,
const gchar *  guid
[inline, static]
 

void gnutella_msg_push_request_set_host_ip gnutella_msg_push_request_t msg,
guint32  ip
[inline, static]
 

void gnutella_msg_push_request_set_host_port gnutella_msg_push_request_t msg,
guint16  port
[inline, static]
 

gnutella_header_t* gnutella_msg_qrp_patch_header gnutella_msg_qrp_patch_t msg  )  [inline, static]
 

void gnutella_msg_qrp_patch_set_compressor gnutella_msg_qrp_patch_t msg,
guint8  compressor
[inline, static]
 

void gnutella_msg_qrp_patch_set_entry_bits gnutella_msg_qrp_patch_t msg,
guint8  entry_bits
[inline, static]
 

void gnutella_msg_qrp_patch_set_seq_no gnutella_msg_qrp_patch_t msg,
guint8  seq_no
[inline, static]
 

void gnutella_msg_qrp_patch_set_seq_size gnutella_msg_qrp_patch_t msg,
guint8  seq_size
[inline, static]
 

void gnutella_msg_qrp_patch_set_variant gnutella_msg_qrp_patch_t msg,
guint8  variant
[inline, static]
 

gnutella_header_t* gnutella_msg_qrp_reset_header gnutella_msg_qrp_reset_t msg  )  [inline, static]
 

void gnutella_msg_qrp_reset_set_infinity gnutella_msg_qrp_reset_t msg,
guint8  infinity
[inline, static]
 

void gnutella_msg_qrp_reset_set_table_length gnutella_msg_qrp_reset_t msg,
guint32  table_length
[inline, static]
 

void gnutella_msg_qrp_reset_set_variant gnutella_msg_qrp_reset_t msg,
guint8  variant
[inline, static]
 

const gchar* gnutella_msg_search_get_text const void *  data  )  [inline, static]
 

gnutella_header_t* gnutella_msg_search_header gnutella_msg_search_t msg  )  [inline, static]
 

gnutella_header_t* gnutella_msg_search_results_header gnutella_msg_search_results_t msg  )  [inline, static]
 

void gnutella_msg_search_results_set_host_ip gnutella_msg_search_results_t msg,
guint32  ip
[inline, static]
 

void gnutella_msg_search_results_set_host_port gnutella_msg_search_results_t msg,
guint16  port
[inline, static]
 

void gnutella_msg_search_results_set_host_speed gnutella_msg_search_results_t msg,
guint32  speed
[inline, static]
 

void gnutella_msg_search_results_set_num_recs gnutella_msg_search_results_t msg,
guint8  num_recs
[inline, static]
 

void gnutella_msg_search_set_speed gnutella_msg_search_t msg,
guint16  speed
[inline, static]
 

void gnutella_msg_size_check void   )  [inline, static]
 

guint8 gnutella_qrp_patch_get_compressor const void *  data  )  [inline, static]
 

guint8 gnutella_qrp_patch_get_entry_bits const void *  data  )  [inline, static]
 

guint8 gnutella_qrp_patch_get_seq_no const void *  data  )  [inline, static]
 

guint8 gnutella_qrp_patch_get_seq_size const void *  data  )  [inline, static]
 

guint8 gnutella_qrp_patch_get_variant const void *  data  )  [inline, static]
 

guint8 gnutella_qrp_reset_get_infinity const void *  data  )  [inline, static]
 

guint32 gnutella_qrp_reset_get_table_length const void *  data  )  [inline, static]
 

guint8 gnutella_qrp_reset_get_variant const void *  data  )  [inline, static]
 

guint32 gnutella_search_results_get_host_ip const void *  data  )  [inline, static]
 

guint16 gnutella_search_results_get_host_port const void *  data  )  [inline, static]
 

guint32 gnutella_search_results_get_host_speed const void *  data  )  [inline, static]
 

guint8 gnutella_search_results_get_num_recs const void *  data  )  [inline, static]
 

guint32 gnutella_vendor_get_code const void *  data  )  [inline, static]
 

guint16 gnutella_vendor_get_selector_id const void *  data  )  [inline, static]
 

guint16 gnutella_vendor_get_version const void *  data  )  [inline, static]
 

void gnutella_vendor_set_code gnutella_vendor_t data,
guint32  code
[inline, static]
 

void gnutella_vendor_set_selector_id gnutella_vendor_t data,
guint16  selector_id
[inline, static]
 

void gnutella_vendor_set_version gnutella_vendor_t data,
guint16  version
[inline, static]
 


Generated on Sat Jun 30 17:53:27 2007 for gtk-gnutella by  doxygen 1.3.9.1