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


Ignore:
Timestamp:
2011-10-04T18:12:41Z (13 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d9ce049
Parents:
032bbe7
Message:

Send buffer, sketch data transmission.

File:
1 edited

Legend:

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

    r032bbe7 r32105348  
    5353}
    5454
    55 /** Create a control segment.
    56  *
    57   * @return     Control segment
     55/** Create a control-only segment.
     56 *
     57  * @return     Segment
    5858 */
    5959tcp_segment_t *tcp_segment_make_ctrl(tcp_control_t ctrl)
     
    8989        return rseg;
    9090}
     91
     92/** Create a control segment.
     93 *
     94  * @return     Segment
     95 */
     96tcp_segment_t *tcp_segment_make_data(tcp_control_t ctrl, void *data,
     97    size_t size)
     98{
     99        tcp_segment_t *seg;
     100
     101        assert(size > 0);
     102
     103        seg = tcp_segment_new();
     104        if (seg == NULL)
     105                return NULL;
     106
     107        seg->ctrl = ctrl;
     108        seg->len = seq_no_control_len(ctrl) + size;
     109
     110        seg->dfptr = seg->data = malloc(size);
     111        if (seg->dfptr == NULL) {
     112                free(seg);
     113                return NULL;
     114        }
     115
     116        memcpy(seg->data, data, size);
     117
     118        return seg;
     119}
     120
    91121
    92122/** Trim segment from left and right by the specified amount.
Note: See TracChangeset for help on using the changeset viewer.