gxSocket Utilities
Topics
:Overview
Conditional Directives
Constants
Type Definitions
Enumerations
Data Structures
Functions
The gxSocket utilities are a collection of data structures and standalone functions used for low-level network operations.
// ICMP Constants const int gxsECHO_REQ_DATASIZE = 32; // Echo Request Data size const int gxsICMP_ECHO_REPLY = 0; // ICMP echo reply const int gxsICMP_ECHO_REQUEST = 8; // ICMP echo request
IP Header in accordance with RFC 791: http://www.faqs.org/rfcs/rfc791.html
struct gxsIPHeader { u_char version_and_ihl; // Version and Internet header length u_char type_of_service; // Type of service short total_length; // Total length short sender_id; // Identification short flag_and_frag_offset; // Flags and fragment offset u_char time_to_live; // Time to live u_char protocol; // Protocol u_short checksum; // Checksum gxsInternetAddress ia_source; // Internet Address - Source gxsInternetAddress ia_destination; // Internet Address - Destination };
ICMP Header in accordance with RFC 792: http://www.faqs.org/rfcs/rfc792.html
struct gxsICMPHeader { u_char type; // Type (8 for echo message / 0 for echo reply message) u_char code; // Code u_short checksum; // Checksum u_short identifier; // Identifier u_short sequence; // Sequence char data; // Data };
ICMP echo request packet.
struct gxsEchoRequest { gxsICMPHeader icmp_header; int time_sent; char data[gxsECHO_REQ_DATASIZE]; };
ICMP echo reply packet.
struct gxsEchoReply { gxsIPHeader ip_header; gxsEchoRequest echo_request; char data[gxsECHO_REQ_DATASIZE]; };
u_short InChecksum16(u_short *addr, int len)
- C++ checksum routine for Internet protocol family headers taken from Mike Muuss' in_cksum() function and his comments from the original ping program.Author: Mike Muuss
U. S. Army Ballistic Research Laboratory
December, 1983
int ParseServiceFileEntry(char *entry, char *service, int *port, char *protocol, char *aliases, char *comment)
- Standalone function used to parse a single line of a services file. Returns true if no error were encountered or false if the line does not contain a valid service, port, and protocol entry. Services file format:<service name> <port number>/<protocol> [aliases...] [#<comment>]
End Of Document |