All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Pages
Data Structures | Enumerations | Functions
urg_tcpclient.h File Reference

TCP/IP read/write functions. More...

#include "urg_ring_buffer.h"
#include "urg_detect_os.h"
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

Go to the source code of this file.

Data Structures

struct  urg_tcpclient_t
 TCP/IP connection. More...
 

Enumerations

enum  { RB_BITSHIFT = 8, RB_SIZE = 1 << RB_BITSHIFT, BUFSIZE = RB_SIZE - 1 }
 

Functions

int tcpclient_open (urg_tcpclient_t *cli, const char *server_ip_str, int port_num)
 constructor of tcp client module More...
 
void tcpclient_close (urg_tcpclient_t *cli)
 destructor of tcp client module More...
 
int tcpclient_read (urg_tcpclient_t *cli, char *userbuf, int req_size, int timeout)
 read from socket. More...
 
int tcpclient_write (urg_tcpclient_t *cli, const char *userbuf, int req_size)
 write to socket. More...
 
int tcpclient_error (urg_tcpclient_t *cli, char *error_message, int max_size)
 
int tcpclient_readline (urg_tcpclient_t *cli, char *userbuf, int buf_size, int timeout)
 read one line from socket. More...
 

Detailed Description

TCP/IP read/write functions.

Author
Katsumi Kimoto
Id:
urg_tcpclient.h,v 1d233c7a2240 2011/02/19 03:08:45 Satofumi

Function Documentation

int tcpclient_open ( urg_tcpclient_t cli,
const char *  server_ip_str,
int  port_num 
)

constructor of tcp client module

Parameters
[in,out]clitcp client type variable which must be allocated by a caller.
[in]server_ip_strIP address expressed in string, i.e. "192.168.0.1"
[in]port_numport number expressed in integer, i.e. port_num = 10200
Return values
0succeeded.
-1error
void tcpclient_close ( urg_tcpclient_t cli)

destructor of tcp client module

Parameters
[in,out]cli: tcp client type variable which must be deallocated by a caller after closing.
int tcpclient_read ( urg_tcpclient_t cli,
char *  userbuf,
int  req_size,
int  timeout 
)

read from socket.

Parameters
[in,out]cli: tcp client type variable which must be deallocated by a caller after closing.
[out]userbuf: buffer to store read data which must be allocated by a caller.
[in]req_size,:data size requested to read in byte.
[in]timeout: time out specification which unit is microsecond.
Returns
the number of data read, -1 when error.
int tcpclient_write ( urg_tcpclient_t cli,
const char *  userbuf,
int  req_size 
)

write to socket.

Parameters
[in,out]cli: tcp client type variable which must be deallocated by a caller after closing.
[in]userbuf: data to write.
[in]req_size,:data size requested to write in byte.
Returns
returns the number of data wrote, -1 when error.
int tcpclient_error ( urg_tcpclient_t cli,
char *  error_message,
int  max_size 
)
Attention
not implemented yet.
int tcpclient_readline ( urg_tcpclient_t cli,
char *  userbuf,
int  buf_size,
int  timeout 
)

read one line from socket.

Parameters
[in,out]cli: tcp client type variable which must be deallocated by a caller after closing.
[out]userbuf: buffer to store read data which must be allocated by a caller.
[in]buf_size,:data size requested to read in byte.
[in]timeout: time out specification which unit is microsecond.
Returns
the number of data read, -1 when error.