SolarCapture C Bindings User Guide  SF-115721-CD
Issue 3
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
sc_packet Struct Reference

Representation of a packet. More...

#include <ext_packet.h>

Data Fields

uint64_t ts_sec
 
uint32_t ts_nsec
 
uint16_t flags
 
uint16_t frame_len
 
uint8_t frags_n
 
uint8_t iovlen
 
uint16_t reserved1
 
uint32_t reserved2
 
struct iovec * iov
 
struct sc_packetnext
 
struct sc_packetfrags
 
struct sc_packet ** frags_tail
 
uintptr_t * metadata
 

Detailed Description

Representation of a packet.

This data-structure describes a packet. It includes pointers to the packet contents, meta-data relating to the packet and fields to support creating lists of packets.

Each sc_packet instance is usually associated with a buffer that holds the packet contents. A packet may span multiple such buffers, in which case the 'head' buffer uses frags and frags_tail to identify the remaining buffers (which are linked via the next field). Nodes should generally not use the frags, frags_n and frags_tail fields, because they are sometimes used in special ways. Instead nodes should use iov and iovlen to find the buffer(s) underlying an sc_packet.

Field Documentation

uint16_t flags

flags defined below

struct sc_packet* frags

list of chained fragments

uint8_t frags_n

number of fragments in frags chain

struct sc_packet** frags_tail

last fragment in chain

uint16_t frame_len

original frame length in bytes

struct iovec* iov

identifies packet data

uint8_t iovlen

number of entries in iov array

uintptr_t* metadata

packet metadata

struct sc_packet* next

next packet in a packet list

uint16_t reserved1

reserved

uint32_t reserved2

reserved

uint32_t ts_nsec

timestamp (nanoseconds)

uint64_t ts_sec

timestamp (seconds)


The documentation for this struct was generated from the following file: