Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 4735 → Rev 4736

/branches/network/uspace/srv/net/app/print_error.c
133,6 → 133,8
case EINPROGRESS:
fprintf( output, "Another operation in progress (%d) error", error_code );
break;
case EDESTADDRREQ:
fprintf( output, "Destination address required (%d) error", error_code );
default:
fprintf( output, "Other (%d) error", error_code );
}
/branches/network/uspace/srv/net/include/socket_errno.h
51,15 → 51,21
////#define EINVAL (-10022)
////#define EMFILE (-10024)
//#define EWOULDBLOCK (-10035)
 
/** An API function is called while another blocking function is in progress.
*/
#define EINPROGRESS (-10036)
 
//#define EALREADY (-10037)
 
/** The socket identifier is not valid.
*/
#define ENOTSOCK (-10038)
//#define EDESTADDRREQ (-10039)
 
/** The destination address required.
*/
#define EDESTADDRREQ (-10039)
 
//#define EMSGSIZE (-10040)
//#define EPROTOTYPE (-10041)
//#define ENOPROTOOPT (-10042)
71,6 → 77,7
/** Socket type is not supported.
*/
#define ESOCKTNOSUPPORT (-10044)
 
//#define EOPNOTSUPP (-10045)
 
/** Protocol family is not supported.
84,6 → 91,7
/** Address is already in use.
*/
#define EADDRINUSE (-10048)
 
//#define EADDRNOTAVAIL (-10049)
/* May be reported at any time if the implementation detects an underlying failure.
*/
98,6 → 106,7
/** The socket is not connected or bound.
*/
#define ENOTCONN (-10057)
 
//#define ESHUTDOWN (-10058)
//#define ETOOMANYREFS (-10059)
//#define ETIMEDOUT (-10060)
/branches/network/uspace/srv/net/socket/socket_client.c
340,6 → 340,7
if( ! new_socket ){
ERROR_CODE = ENOMEM;
}else{
bzero( socket, sizeof( * socket ));
socket_initialize( new_socket, SOCKET_GET_SOCKET_ID( call ), socket->phone, socket->service );
ERROR_CODE = sockets_add( socket_get_sockets(), new_socket->socket_id, new_socket );
if( ERROR_CODE < 0 ){
430,19 → 431,9
// create a new socket structure
socket = ( socket_ref ) malloc( sizeof( socket_t ));
if( ! socket ) return ENOMEM;
if( ERROR_OCCURRED( dyn_fifo_initialize( & socket->received, SOCKET_INITIAL_RECEIVED_SIZE ))){
free( socket );
return ERROR_CODE;
}
if( ERROR_OCCURRED( dyn_fifo_initialize( & socket->accepted, SOCKET_INITIAL_ACCEPTED_SIZE ))){
dyn_fifo_destroy( & socket->received );
free( socket );
return ERROR_CODE;
}
bzero( socket, sizeof( * socket ));
// request a new socket
if( ERROR_OCCURRED(( int ) async_req_3_3( phone, NET_SOCKET, 0, 0, service, ( ipcarg_t * ) & socket_id, ( ipcarg_t * ) & socket->data_fragment_size, ( ipcarg_t * ) & socket->header_size ))){
dyn_fifo_destroy( & socket->received );
dyn_fifo_destroy( & socket->accepted );
free( socket );
return ERROR_CODE;
}
549,6 → 540,8
}
 
int connect( int socket_id, const struct sockaddr * serv_addr, socklen_t addrlen ){
if( ! serv_addr ) return EDESTADDRREQ;
if( ! addrlen ) return EDESTADDRREQ;
// send the address
return socket_send_data( socket_id, NET_SOCKET_CONNECT, 0, serv_addr, addrlen );
}
594,8 → 587,8
}
 
int sendto( int socket_id, const void * data, size_t datalength, int flags, const struct sockaddr * toaddr, socklen_t addrlen ){
if( ! toaddr ) return EBADMEM;
if( ! addrlen ) return NO_DATA;
if( ! toaddr ) return EDESTADDRREQ;
if( ! addrlen ) return EDESTADDRREQ;
// with the address
return sendto_core( NET_SOCKET_SENDTO, socket_id, data, datalength, flags, toaddr, addrlen );
}