# Srio_Socket Struct Reference

The structure describes the SRIO SOCKET. More...

## Data Fields

Srio_ListNode | links
| Links to other sockets.
Srio_SocketState | state
| Socket Valid.
Srio_SocketType | type
| Socket type.
uint16_t | isRawSocket
| The flag indicates if the socket is operating in RAW or NORMAL Mode.
Srio_DriverInst * | ptr_SrioDrvInst
| Pointer to the SRIO driver instance.
void * | semHandle
| Semaphore Handle associated with the socket.
uint16_t | blockingSocket
| Sockets can be made blocking or non-blocking. By default all sockets are blocking unless modified through the socket options API.
uint16_t | sockIndex
| Socket Index which points to the corresponding entry in the GLOBAL SRIO MCB which had been allocated for this purpose.
uint16_t | mapIndex
| Map Index. Each SOCKET is mapped to an entry in the MAP table. which maps incomming message to the appropriate CPPI queue.
Srio_SockAddrInfo | addrInfo
| Local binding information.
uint16_t | maxPendingPackets
| This is the max number of pending packets which can be enqueued in the SRIO socket. Packets received after this limit is exceeded are dropped.
SRIO_LSU_TRANSFER | lsuTransfer
| LSU Transfer Information: This is applicable only for DIO sockets.
SRIO_LSU_TRANSFER | doorbellTransfer
| Doorbell LSU Transfer Information: This is applicable only for DIO sockets.
uint8_t | dioTransId
| DIO Transaction Identifier: Applicable only for DIO sockets. A value of 0xFF implies that there is no outstanding transaction pending.
uint8_t | dioContext
| DIO Context Bit: Applicable only for DIO sockets. A value of 0xFF implies that there is no outstanding transaction pending.
uint8_t | dioCompletionCode
| DIO Completion Code: This is the completion code for the last pending transaction.
Srio_SockDataPacket * | pendingPkts
| List of all pending data packets available on the socket.
Srio_SockDataPacket * | freePkts
| List of all free data packets available on the socket. This list is initialized when is a socket is created with all the memory upfront. Packets received are dequeued from this list and placed into the pendingPkts list above.
void(* | rawRxFreeDrvBuffer )(Srio_DrvBuffer hDrvBuffer)
| Raw Receive Driver Buffer cleanup API to be called if driver buffers associated with the socket need to be cleaned up. This can happen in the case of errors or if the sockets are getting closed and there is still some pending data available in the socket lists.
uint32_t | ccRxErrorCounter
| Completion Code Error Counter. This counter is incremented to keep track of error counters detected in the buffer descriptor when a packet is received.
uint32_t | rxBufferOverrun
| Receive buffer overrun counters are valid only for normal mode sockets and are incremented because the OSAL layer was unable to allocate memory for the received packet.
uint32_t | sockRxOverrun
| Each socket is programmed to keep only a "configurable" number of packets. This error counter indicates that the socket receive buffers were overrun and there was no place to receive the new packet.

## Detailed Description

The structure describes the SRIO SOCKET.

The structure is used to store all the SRIO socket information which is required to send and receive data.

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

- srio_drv.c

Copyright 2012, Texas Instruments Incorporated