Changeset e417b96 in mainline for uspace/srv/net/tl/tcp/tcp.c


Ignore:
Timestamp:
2010-03-23T22:58:44Z (14 years ago)
Author:
Lukas Mejdrech <lukasmejdrech@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
5814ef7
Parents:
76ca3f7
Message:

IPC_[SG]ET_ARG macros refactored to be more explicit and safer

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/tl/tcp/tcp.c

    r76ca3f7 re417b96  
    10621062        int socket_id;
    10631063        size_t addrlen;
     1064        size_t size;
    10641065        fibril_rwlock_t lock;
    10651066        ipc_call_t answer;
     
    11071108                                        socket_id = SOCKET_GET_SOCKET_ID(call);
    11081109                                        res = socket_create(&local_sockets, app_phone, socket_data, &socket_id);
    1109                                         *SOCKET_SET_SOCKET_ID(answer) = socket_id;
     1110                                        SOCKET_SET_SOCKET_ID(answer, socket_id);
    11101111                                        fibril_rwlock_write_unlock(&lock);
    11111112                                        if(res == EOK){
    11121113                                                if(tl_get_ip_packet_dimension(tcp_globals.ip_phone, &tcp_globals.dimensions, DEVICE_INVALID_ID, &packet_dimension) == EOK){
    1113                                                         *SOCKET_SET_DATA_FRAGMENT_SIZE(answer) = ((packet_dimension->content < socket_data->data_fragment_size) ? packet_dimension->content : socket_data->data_fragment_size);
     1114                                                        SOCKET_SET_DATA_FRAGMENT_SIZE(answer, ((packet_dimension->content < socket_data->data_fragment_size) ? packet_dimension->content : socket_data->data_fragment_size));
    11141115                                                }
    1115 //                                              *SOCKET_SET_DATA_FRAGMENT_SIZE(answer) = MAX_TCP_FRAGMENT_SIZE;
    1116                                                 *SOCKET_SET_HEADER_SIZE(answer) = TCP_HEADER_SIZE;
     1116//                                              SOCKET_SET_DATA_FRAGMENT_SIZE(answer, MAX_TCP_FRAGMENT_SIZE);
     1117                                                SOCKET_SET_HEADER_SIZE(answer, TCP_HEADER_SIZE);
    11171118                                                answer_count = 3;
    11181119                                        }else{
     
    11661167                                fibril_rwlock_read_lock(&tcp_globals.lock);
    11671168                                fibril_rwlock_write_lock(&lock);
    1168                                 res = tcp_accept_message(&local_sockets, SOCKET_GET_SOCKET_ID(call), SOCKET_GET_NEW_SOCKET_ID(call), SOCKET_SET_DATA_FRAGMENT_SIZE(answer), &addrlen);
     1169                                res = tcp_accept_message(&local_sockets, SOCKET_GET_SOCKET_ID(call), SOCKET_GET_NEW_SOCKET_ID(call), &size, &addrlen);
     1170                                SOCKET_SET_DATA_FRAGMENT_SIZE(answer, size);
    11691171                                fibril_rwlock_write_unlock(&lock);
    11701172                                fibril_rwlock_read_unlock(&tcp_globals.lock);
    11711173                                if(res > 0){
    1172                                         *SOCKET_SET_SOCKET_ID(answer) = res;
    1173                                         *SOCKET_SET_ADDRESS_LENGTH(answer) = addrlen;
     1174                                        SOCKET_SET_SOCKET_ID(answer, res);
     1175                                        SOCKET_SET_ADDRESS_LENGTH(answer, addrlen);
    11741176                                        answer_count = 3;
    11751177                                }
     
    11781180                                fibril_rwlock_read_lock(&tcp_globals.lock);
    11791181                                fibril_rwlock_write_lock(&lock);
    1180                                 res = tcp_send_message(&local_sockets, SOCKET_GET_SOCKET_ID(call), SOCKET_GET_DATA_FRAGMENTS(call), SOCKET_SET_DATA_FRAGMENT_SIZE(answer), SOCKET_GET_FLAGS(call));
     1182                                res = tcp_send_message(&local_sockets, SOCKET_GET_SOCKET_ID(call), SOCKET_GET_DATA_FRAGMENTS(call), &size, SOCKET_GET_FLAGS(call));
     1183                                SOCKET_SET_DATA_FRAGMENT_SIZE(answer, size);
    11811184                                if(res != EOK){
    11821185                                        fibril_rwlock_write_unlock(&lock);
     
    11911194                                        fibril_rwlock_read_lock(&tcp_globals.lock);
    11921195                                        fibril_rwlock_write_lock(&lock);
    1193                                         res = tcp_send_message(&local_sockets, SOCKET_GET_SOCKET_ID(call), SOCKET_GET_DATA_FRAGMENTS(call), SOCKET_SET_DATA_FRAGMENT_SIZE(answer), SOCKET_GET_FLAGS(call));
     1196                                        res = tcp_send_message(&local_sockets, SOCKET_GET_SOCKET_ID(call), SOCKET_GET_DATA_FRAGMENTS(call), &size, SOCKET_GET_FLAGS(call));
     1197                                        SOCKET_SET_DATA_FRAGMENT_SIZE(answer, size);
    11941198                                        if(res != EOK){
    11951199                                                fibril_rwlock_write_unlock(&lock);
     
    12081212                                fibril_rwlock_read_unlock(&tcp_globals.lock);
    12091213                                if(res > 0){
    1210                                         *SOCKET_SET_READ_DATA_LENGTH(answer) = res;
     1214                                        SOCKET_SET_READ_DATA_LENGTH(answer, res);
    12111215                                        answer_count = 1;
    12121216                                        res = EOK;
     
    12201224                                fibril_rwlock_read_unlock(&tcp_globals.lock);
    12211225                                if(res > 0){
    1222                                         *SOCKET_SET_READ_DATA_LENGTH(answer) = res;
    1223                                         *SOCKET_SET_ADDRESS_LENGTH(answer) = addrlen;
     1226                                        SOCKET_SET_READ_DATA_LENGTH(answer, res);
     1227                                        SOCKET_SET_ADDRESS_LENGTH(answer, addrlen);
    12241228                                        answer_count = 3;
    12251229                                        res = EOK;
Note: See TracChangeset for help on using the changeset viewer.