Changeset 5d2e976 in mainline


Ignore:
Timestamp:
2010-03-15T19:43:12Z (15 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6e81d04
Parents:
4684368 (diff), 6092b56e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge networking fix.

Location:
uspace/srv/net
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/socket/socket_messages.h

    r4684368 r5d2e976  
    115115 *  @param[out] answer The message answer structure.
    116116 */
    117 #define SOCKET_SET_SOCKET_ID(answer)                    (int *) &IPC_GET_ARG1(answer)
     117#define SOCKET_SET_SOCKET_ID(answer)            &IPC_GET_ARG1(answer)
    118118
    119119/** Returns the socket identifier message parameter.
    120120 *  @param[in] call The message call structure.
    121121 */
    122 #define SOCKET_GET_SOCKET_ID(call)                      (int) IPC_GET_ARG1(call)
     122#define SOCKET_GET_SOCKET_ID(call)              (int) IPC_GET_ARG1(call)
    123123
    124124/** Sets the read data length in the message answer.
    125125 *  @param[out] answer The message answer structure.
    126126 */
    127 #define SOCKET_SET_READ_DATA_LENGTH(answer)     (int *) &IPC_GET_ARG1(answer)
     127#define SOCKET_SET_READ_DATA_LENGTH(answer)     &IPC_GET_ARG1(answer)
    128128
    129129/** Returns the read data length message parameter.
    130130 *  @param[in] call The message call structure.
    131131 */
    132 #define SOCKET_GET_READ_DATA_LENGTH(call)               (int) IPC_GET_ARG1(call)
     132#define SOCKET_GET_READ_DATA_LENGTH(call)       (int) IPC_GET_ARG1(call)
    133133
    134134/** Returns the backlog message parameter.
    135135 *  @param[in] call The message call structure.
    136136 */
    137 #define SOCKET_GET_BACKLOG(call)                                (int) IPC_GET_ARG2(call)
     137#define SOCKET_GET_BACKLOG(call)                (int) IPC_GET_ARG2(call)
    138138
    139139/** Returns the option level message parameter.
    140140 *  @param[in] call The message call structure.
    141141 */
    142 #define SOCKET_GET_OPT_LEVEL(call)                      (int) IPC_GET_ARG2(call)
     142#define SOCKET_GET_OPT_LEVEL(call)              (int) IPC_GET_ARG2(call)
    143143
    144144/** Returns the data fragment size message parameter.
     
    150150 *  @param[out] answer The message answer structure.
    151151 */
    152 #define SOCKET_SET_DATA_FRAGMENT_SIZE(answer)   (size_t *) &IPC_GET_ARG2(answer)
     152#define SOCKET_SET_DATA_FRAGMENT_SIZE(answer)   &IPC_GET_ARG2(answer)
    153153
    154154/** Sets the address length in the message answer.
    155155 *  @param[out] answer The message answer structure.
    156156 */
    157 #define SOCKET_SET_ADDRESS_LENGTH(answer)               (socklen_t *) &IPC_GET_ARG3(answer)
     157#define SOCKET_SET_ADDRESS_LENGTH(answer)       &IPC_GET_ARG3(answer)
    158158
    159159/** Returns the address length message parameter.
     
    165165 *  @param[out] answer The message answer structure.
    166166 */
    167 #define SOCKET_SET_HEADER_SIZE(answer)          (int *) &IPC_GET_ARG3(answer)
     167#define SOCKET_SET_HEADER_SIZE(answer)          &IPC_GET_ARG3(answer)
    168168
    169169/** Returns the header size message parameter.
    170170 *  @param[in] call The message call structure.
    171171 */
    172 #define SOCKET_GET_HEADER_SIZE(call)                    (int) IPC_GET_ARG3(call)
     172#define SOCKET_GET_HEADER_SIZE(call)            (size_t) IPC_GET_ARG3(call)
    173173
    174174/** Returns the flags message parameter.
    175175 *  @param[in] call The message call structure.
    176176 */
    177 #define SOCKET_GET_FLAGS(call)                          (int) IPC_GET_ARG4(call)
     177#define SOCKET_GET_FLAGS(call)                  (int) IPC_GET_ARG4(call)
    178178
    179179/** Returns the option name message parameter.
    180180 *  @param[in] call The message call structure.
    181181 */
    182 #define SOCKET_GET_OPT_NAME(call)                               (int) IPC_GET_ARG4(call)
     182#define SOCKET_GET_OPT_NAME(call)               (int) IPC_GET_ARG4(call)
    183183
    184184/** Returns the data fragments message parameter.
  • uspace/srv/net/tl/tcp/tcp.c

    r4684368 r5d2e976  
    10601060        int app_phone = IPC_GET_PHONE(&call);
    10611061        struct sockaddr * addr;
     1062        int socket_id;
    10621063        size_t addrlen;
    10631064        fibril_rwlock_t lock;
     
    11041105                                        socket_data->local_sockets = &local_sockets;
    11051106                                        fibril_rwlock_write_lock(&lock);
    1106                                         *SOCKET_SET_SOCKET_ID(answer) = SOCKET_GET_SOCKET_ID(call);
    1107                                         res = socket_create(&local_sockets, app_phone, socket_data, SOCKET_SET_SOCKET_ID(answer));
     1107                                        socket_id = SOCKET_GET_SOCKET_ID(call);
     1108                                        res = socket_create(&local_sockets, app_phone, socket_data, &socket_id);
     1109                                        *SOCKET_SET_SOCKET_ID(answer) = socket_id;
    11081110                                        fibril_rwlock_write_unlock(&lock);
    11091111                                        if(res == EOK){
  • uspace/srv/net/tl/udp/udp.c

    r4684368 r5d2e976  
    417417        int app_phone = IPC_GET_PHONE(&call);
    418418        struct sockaddr * addr;
     419        int socket_id;
    419420        size_t addrlen;
    420421        ipc_call_t answer;
     
    451452                                break;
    452453                        case NET_SOCKET:
    453                                 *SOCKET_SET_SOCKET_ID(answer) = SOCKET_GET_SOCKET_ID(call);
    454                                 res = socket_create(&local_sockets, app_phone, NULL, SOCKET_SET_SOCKET_ID(answer));
     454                                socket_id = SOCKET_GET_SOCKET_ID(call);
     455                                res = socket_create(&local_sockets, app_phone, NULL, &socket_id);
     456                                *SOCKET_SET_SOCKET_ID(answer) = socket_id;
     457                               
    455458                                if(res == EOK){
    456459                                        if(tl_get_ip_packet_dimension(udp_globals.ip_phone, &udp_globals.dimensions, DEVICE_INVALID_ID, &packet_dimension) == EOK){
Note: See TracChangeset for help on using the changeset viewer.