Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 4735 → Rev 4736

/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 );
}