Additional doxygen updates
authorTinku Mannan <tmannan@ti.com>
Tue, 9 Oct 2012 14:52:59 +0000 (10:52 -0400)
committerTinku Mannan <tmannan@ti.com>
Tue, 9 Oct 2012 14:52:59 +0000 (10:52 -0400)
ti/runtime/netapi/build/netapi_doxygen.cfg
ti/runtime/netapi/netapi.h
ti/runtime/netapi/netapi_err.h
ti/runtime/netapi/netapi_sched.h
ti/runtime/netapi/netapi_sec.h
ti/runtime/netapi/netapi_tune.h
ti/runtime/netapi/netcp_cfg.h
ti/runtime/netapi/pktio.h

index 7a5de9e509e5a910c7541ff24258db0b3a07779e..6cdc6a69f8297f54f21f0a8afcfe44c57831bded 100755 (executable)
@@ -574,7 +574,7 @@ WARN_LOGFILE           =
 # directories like "/usr/src/myproject". Separate the files or directories
 # with spaces.
 
-INPUT                  = ../netapi.h ../netcp_cfg.h ../netapi_sec.h ../netapi_tune.h ../netapi_sched.h ../pktio.h 
+INPUT                  = ../netapi.h ../netcp_cfg.h ../netapi_sec.h ../netapi_tune.h ../netapi_sched.h ../pktio.h ../netapi_err.h 
 
 # This tag can be used to specify the character encoding of the source files
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
index 0b6c792db14528ef428ad72de56b441295411703..56f814ab7c2e7268a9474b907414cf8efdca07a0 100755 (executable)
 /** @} */
 
 
+
+
+
 /** @defgroup netapi_gen_functions NETAPI General Functions
  *  @ingroup netapi
  */
-/** @defgroup netapi_cfg_functions NETAPI Configuration Functions
+
+
+/** @defgroup netapi_cfg NETAPI Configuration Interface
  *  @ingroup netapi
  */
-/** @defgroup netapi_cfg_sec_functions NETAPI Security Configuration Functions
- *  @ingroup netapi
+/** @defgroup cfg_functions NETAPI Configuration Functions
+ *  @ingroup netapi_cfg
+ */
+
+/** @defgroup cfg_structures NETAPI Configuration Structures used in API's
+ *  @ingroup netapi_cfg
+ */
+
+/** @defgroup cfg_constants NETAPI Configuration Constants
+ *  @ingroup netapi_cfg
  */
 
-/** @defgroup netapi_sched_functions NETAPI Scheduler Functions
+/** @defgroup netapi_security NETAPI Security Interface
  *  @ingroup netapi
  */
 
-/** @defgroup netapi_pktio_functions NETAPI PKTIO Functions
+/** @defgroup cfg_security_functions NETAPI Security Configuration Functions
+ *  @ingroup netapi_security
+ */
+
+/** @defgroup cfg_security_structures NETAPI Security Configuration Structures used in API's
+ *  @ingroup netapi_security
+ */
+
+
+/** @defgroup security_constants NETAPI Security Constants
+ *  @ingroup netapi_security
+ */
+
+/** @defgroup netapi_pktio NETAPI PKTIO Interface
  *  @ingroup netapi
  */
 
-/** @defgroup netapi_cb_functions NETAPI Callback Functions
+/** @defgroup pktio_functions NETAPI PKTIO Functions
+ *  @ingroup netapi_pktio
+ */
+
+/** @defgroup pktio_structures NETAPI PKTIO Structures used in API's
+ *  @ingroup netapi_pktio
+ */
+
+/** @defgroup pktio_constants NETAPI PKTIO Constants
+ *  @ingroup netapi_pktio
+ */
+
+/** @defgroup netapi_scheduler NETAPI Scheduler Interface
  *  @ingroup netapi
  */
 
+/** @defgroup sched_functions NETAPI Scheduler Functions
+ *  @ingroup netapi_scheduler
+ */
+
+/** @defgroup sched_structures NETAPI Scheduler Structures used in API's
+ *  @ingroup netapi_scheduler
+ */
+
+/** @defgroup sched_constants NETAPI Scheduler Constants
+ *  @ingroup netapi_scheduler
+ */
 
-/** @defgroup netapi_structures NETAPI Structures used in API's
+/** @defgroup netapi_cb_functions NETAPI Callback Functions
  *  @ingroup netapi
  */
 
-/** @defgroup netapi_tune_parameters NETAPI Tune Parameters
+/** @defgroup tune_parameters NETAPI Tune Parameters
  *  @ingroup netapi
  */
 
 /**
  * @def NETAPI_VERSION_STR
  *      This is the version string which describes the NETAPI along with the
- *      date and build information.q
+ *      date and build information.
  */
 #define NETAPI_VERSION_STR      "NETAPI Revision: 01.00.00.04"
 
 
 /**
- * @ingroup netapi_structures
+ * @ingroup cfg_constants
  * @brief  One per thread, used in most NETAPI function calls.
  */
 typedef void * NETAPI_T;
@@ -168,56 +216,6 @@ typedef void * NETAPI_T;
  */
 #define NETAPI_NO_MASTER   0  //data only
 
-
-/**
- *  @ingroup netapi_structures
- *  @brief NETAPI configuration information
- *
- *  @details The parameters in this structure are used to configure NETAPI.
- */
-typedef struct NETAPI_CFG_Tag
-{
- int def_mem_size;                  /**<  Bytes of CMA memory we have allocated */
- int def_flow_pkt_rx_offset;        /**<  Offset in pkt buffer for hw to start RX */
- int def_max_descriptors;           /**<  Number of descriptors in system  (must be power of 2), 2^14 max */
- int def_tot_descriptors_for_us;    /**<  Number of descriptors to create in our region (must be power of 2)*/
- int def_heap_n_descriptors;        /**<  Number of descriptor plus buffers in default heap*/
- int def_heap_n_zdescriptors;       /**<  Number of zero len descriptors in defaule heap*/
- int def_heap_buf_size;             /**<  Size of buffers in default heap, max amount of area for packet data */
- int def_heap_tailroom_size;        /**<  Size of tailroom in reserve */
- int def_heap_extra_size;           /**<  Size of extra space at end of buffer */ 
-}  NETAPI_CFG_T;
-
-/* @note:
-   each buffer will be allocated:  def_heap_buf_size+def_heap_extra_size bytes
-   each descriptor attached to these buffers will have rigBufferLen of:
-      def_heap_buf_size.
-   for default RX flow,  for rx packet, the bufptr  will be def_flow_pkt_rx_offset.
-   for detault RX flow,  threshold (ie max # of bytes in buffer) will be:
-       def_heap_buf_size - def_heap_tailroom_size-def_flow_pkt_rx_offset
-
-
- RX Packet from NetCP
-
-Headroom [Application]     Packet [HW]                Tailroom [Application]    Extra Space [Application]
-<-----------------------><--------------------------><------------------------><----------------------->
-
-Cppi_HostDesc->origBufferLen
-<----------------------------------------------------------------------------->
-Cppi_HostDesc->origBuffPtr
-|
-\/
-|------------def_heap_buf_size-------------------------------------------------|--def_heap_extra_size--|
-| def_flow_pkt_rx_offset| max Cppi_HostDesc->buffLen | def_heap_tailroom_size  |   Extra Size          |
-                        ^
-                        |
-                     Cppi_HostDesc->buffPtr
-
-
-*/
-
-
-
 #include "netapi_err.h"
 #include "netapi_tune.h"
 #include "ti/runtime/pktlib/pktlib_osal.h"
index 8981991a57e72136f998deaa87c51c73142eae83..86c646cf5fb2543e030c4da3c45bb3f6ea5ae3ce 100755 (executable)
 
 #ifndef __NETAPI_ERR__
 #define __NETAPI_ERR__
-/**
- *   @defgroup NETAPI_RetValue NETAPI Return Codes
+
+/** @defgroup netapi_errors NETAPI Error Return Values
+ *  @ingroup netapi
  */
-/**  @ingroup NETAPI_RetValue */
 
 /**
  *  @def  NETAPI_ERR_OK
+ *  @ingroup netapi_errors
  *       No error 
  */
 #define NETAPI_ERR_OK  0
+
 /**
- *  @ingroup NETAPI_RetValue
  *  @def  NETAPI_ERR_NOMEM
+ *  @ingroup netapi_errors
  *  @brief   out of memory error  
  */
 #define NETAPI_ERR_NOMEM -1
+
 /**
-*  @ingroup NETAPI_RetValue
  *  @def  NETAPI_ERR_BAD_INPUT
- *       arguments or configuraiton is invalid
+ *  @ingroup netapi_errors
+ *  @brief   arguments or configuraiton is invalid
  */
 #define NETAPI_ERR_BAD_INPUT -2
+
 /**
-*  @ingroup NETAPI_RetValue
  *  @def  NETAPI_ERR_QLLD 
- *       QUEUE MANAGER Reports an error
+ *  @ingroup netapi_errors
+ *  @brief   QUEUE MANAGER Reports an error
  */
 #define NETAPI_ERR_QLLD -3
+
 /**
-*  @ingroup NETAPI_RetValue
  *  @def  NETAPI_ERR_NOTFOUND
- *       the resource cannot be located
+ *  @ingroup netapi_errors
+ *  @brief   the resource cannot be located
  */
 #define NETAPI_ERR_NOTFOUND -4
 /**
-*  @ingroup NETAPI_RetValue
  *  @def  NETAPI_ERR_BUSY
- *       Temporarily out of resources or resource leak
+ *  @ingroup netapi_errors
+ *  @brief   Temporarily out of resources or resource leak
  */
 #define NETAPI_ERR_BUSY -5 
+
 /**
-*  @ingroup NETAPI_RetValue
  *  @def  NETAPI_ERR_NWAL_ERR0
- *       NWAL subsytem reports error 
+ *  @ingroup netapi_errors
+ *  @brief   NWAL subsytem reports error 
  */
 #define NETAPI_ERR_NWAL_ERR0 -6
+
 /**
-*  @ingroup NETAPI_RetValue
  *  @def  NETAPI_ERR_NOT_IMLEMENTED_
- *       Feature not implemented in this version    
+ *  @ingroup netapi_errors
+ *  @brief   Feature not implemented in this version    
  */
 #define NETAPI_ERR_NOT_IMPLEMENTED -7
+
 /**
-*  @ingroup NETAPI_RetValue
  *  @def  NETAPI_ERR_NORES
- *      no free (hw) resources available 
+ *  @ingroup netapi_errors
+ *  @brief   no free (hw) resources available 
  */
 #define NETAPI_ERR_NORES -8
+
 /**
-*  @ingroup NETAPI_RetValue
  *  @def  NETAPI_ERR_ALREADY_CANCELLED
- *       timer has already been cancelled
+ *  @ingroup netapi_errors
+ *  @brief   timer has already been cancelled
  */
 #define NETAPI_ERR_ALREADY_CANCELLED -100
+
 /**
-*  @ingroup NETAPI_RetValue
  *  @def  NETAPI_ERR_NWAL_TX_ERR
- *       error trying to send to NWAL. 
+ *  @ingroup netapi_errors
+ *  @brief   error trying to send to NWAL. 
  */
 #define NETAPI_ERR_NWAL_TX_ERR -65536
 #endif
index 52f542e4b57d32077f15b74efa76fdbc7bda2314..4318ee4667fba6bd60c7782f499afc54cb47e8be 100755 (executable)
@@ -68,48 +68,55 @@ struct  NETAPI_SCHED_HANDLE_Tag;
 typedef void (*NETAPI_SCHED_CB)(struct NETAPI_SCHED_HANDLE_Tag *h);
 
 
-
-
-
-
 /**
- *  @ingroup netapi_structures
+ *  @ingroup sched_structures
  *  @brief NETAPI scheduler configuration structure.
  *
- *  @details Pointer to this strucutre is passed in the call to @ref netapi_schedOpen API
+ *  @details Pointer to this structure is passed in the call to @ref netapi_schedOpen API
  */
 typedef struct NETAPI_SCHED_CONFIG_Tag
 {
 
-    int valid_flags; /**< This define valid flags options of scheduler context being configured */
+/**
+ * Valid flag options of scheduler context being configured.
+ * <br>
+ * The following are flags used to configure the scheduler:
+ *      @ref NETAPI_SCHED_DURATION , @ref NETAPI_SCHED_POWER, @ref NETAPI_SCHED_FINE, @ref NETAPI_SCHED_FINE
+ */
+    int valid_flags;
 
 /**
  * @def NETAPI_SCHED_DURATION
- *      This define duration option  of scheduler context being configured.
+ * @ingroup sched_constants
+ *      This defines the duration option  of scheduler context being configured TBD
  */
 #define NETAPI_SCHED_DURATION 0x1
 
 /**
  * @def NETAPI_SCHED_POWER
- *      This define the Power option  of scheduler context being configured. TBD
+ * @ingroup sched_constants
+ *      This defines the Power option  of scheduler context being configured. TBD
  */
 #define NETAPI_SCHED_POWER 0x2
 
 /**
  * @def NETAPI_SCHED_FINE
- *      This define the fine tune option of scheduler context being configured. TBD
+ * @ingroup sched_constants
+ *      This defines the fine tune option of scheduler context being configured. TBD
  */
 #define NETAPI_SCHED_FINE  0x4
 
 /**
  * @def NETAPI_SCHED_CBV
- *      This define the call back option of scheduler context being configured. TBD.
+ * @ingroup sched_constants
+ *      This defines the call back option of scheduler context being configured. TBD.
  */
 #define NETAPI_SCHED_CBV  0x8
 
 /**
  * @def NETAPI_SCHED_FOREVER
- *      This define is used to configure scheduler to run forever.
+ * @ingroup sched_constants
+ *      This defines is used to configure scheduler to run forever.
  */
 #define NETAPI_SCHED_FOREVER 0L
 
@@ -122,17 +129,24 @@ typedef struct NETAPI_SCHED_CONFIG_Tag
 
     uint32_t interval;                      /**< How many poll loop intervals after which to call the house keeping callback */ 
 
-
-    int power_control;                          /**< 0 = always on, >0 = duty cycle  TBD */
+/**
+ * Power control option configuration for scheduler
+ * <br>
+ * The following are flags used to configure the power control option:
+ *      @ref NETAPI_SCHED_POWER_ALWAYS_OFF , @ref NETAPI_SCHED_POWER_ALWAYS_OFF
+ */
+    int power_control;
 
 /**
  * @def NETAPI_SCHED_POWER_ALWAYS_OFF
+ * @ingroup sched_constants
  *      This define is used to configure scheduler power_control option to be always off TBD
  */
 #define NETAPI_SCHED_POWER_ALWAYS_OFF 0
 
 /**
  * @def NETAPI_SCHED_POWER_ALWAYS_ON
+ * @ingroup sched_constants
  *      This define is used to configure scheduler power_control option to be always on
  */
 #define NETAPI_SCHED_POWER_ALWAYS_ON 100
@@ -143,38 +157,47 @@ typedef struct NETAPI_SCHED_CONFIG_Tag
 
 
 /**
- *  @ingroup netapi_structures
+ *  @ingroup sched_structures
  *  @brief NETAPI scheduler context handle.
  *
  *  @details  This structure is returned from call to @ref netapi_schedOpen API
  */
 typedef struct NETAPI_SCHED_HANDLE_Tag
 {
+/**
+ * State of the scheduler
+ * <br>
+ * The following are valid states of the scheduler, 
+ *      @ref NETAPI_SCHED_STATE_CLOSE , @ref NETAPI_SCHED_STATE_CLOSE_IN_PROGRESS, @ref NETAPI_SCHED_STATE_OPEN
+ */
     volatile int state;                /**< 0= shutdown, 1= shutting down, 2=active */
 
 /**
  * @def NETAPI_SCHED_STATE_CLOSE
+ * @ingroup sched_constants
  *      This define indicates the state of the scheduler to be CLOSE (idle) state TBD
  */
 #define NETAPI_SCHED_STATE_CLOSE 0
 
 /**
  * @def NETAPI_SCHED_STATE_CLOSE_IN_PROGRESS
+ * @ingroup sched_constants
  *      This define indicates the state of the scheduler is being shutdown state TBD
  */
 #define NETAPI_SCHED_STATE_CLOSE_IN_PROGRESS 1
 
 /**
  * @def NETAPI_SCHED_STATE_OPEN
+ * @ingroup sched_constants
  *      This define indicates the state of the scheduler is OPEN (running) TBD
  */
 #define NETAPI_SCHED_STATE_OPEN 2
 
-    void * back;                           /**< Pointer back to NETAPI  handle */
-    NETAPI_SCHED_CONFIG_T config;      /**< NETAPI scheduler configuration */
-    uint64_t start;                        /**< Start time of NETAPI scheduler context TBD*/ 
-    volatile int shutdown_reason;  /**< FUTURE-not implemented TBD */
-    volatile uint64_t shutdown_time;   /**< Time till scheduler context will be shutdown/closed */
+    void * back;                        /**< Pointer back to NETAPI  handle */
+    NETAPI_SCHED_CONFIG_T config;       /**< NETAPI scheduler configuration */
+    uint64_t start;                     /**< Start time of NETAPI scheduler context TBD*/ 
+    volatile int shutdown_reason;       /**< FUTURE-not implemented TBD */
+    volatile uint64_t shutdown_time;    /**< Time till scheduler context will be shutdown/closed */
 
 } NETAPI_SCHED_HANDLE_T;
 
@@ -183,36 +206,45 @@ typedef struct NETAPI_SCHED_HANDLE_Tag
 
 /// @cond FUTURE
 /* return codes for wait_for_events() TBD, currently not used*/
-#define NETAPI_SCHED_RETURN_ERR 0   //unknown, err
-#define NETAPI_SCHED_RETURN_TO 1    // returned after timeout
-#define NETAPI_SCHED_RETURN_SHUTDOWN 2 //returned after shutdown
+#define NETAPI_SCHED_RETURN_ERR         0       /**<unknown, err */
+#define NETAPI_SCHED_RETURN_TO          1       /**<returned after timeout */
+#define NETAPI_SCHED_RETURN_SHUTDOWN    2       /**<returned after shutdown */
 /// @endcond
 
 
 
 /**
- *  @ingroup netapi_structures
+ *  @ingroup sched_structures
  *  @brief NETAPI scheduler shutdown structure
  *  @details  This structure is passed an an argument for @ref netapi_schedShutdown
  */
 typedef struct NETAPI_SCHED_SHUTDOWN_Tag
 {
+/**
+ * Scheduler shutdown options
+ * <br>
+ * The following options of how to shutdown the scheduler
+ *      @ref NETAPI_SCHED_SHUTDOWN_NOW , @ref NETAPI_SCHED_SHUTDOWN_TO, @ref NETAPI_SCHED_SHUTDOWN_NEXT_IDLE
+ */
     int shutdown_type;                      /**< shutdown type */
 
 /**
  * @def NETAPI_SCHED_SHUTDOWN_NOW
+ * @ingroup sched_constants
  *      This define is used to shudown the scheduling context immediately 
  */
 #define NETAPI_SCHED_SHUTDOWN_NOW 0
 
 /**
  * @def NETAPI_SCHED_SHUTDOWN_TO
+ * @ingroup sched_constants
  *      This define is used to shudown the scheduling context TBD
  */
 #define NETAPI_SCHED_SHUTDOWN_TO  1
 
 /**
  * @def NETAPI_SCHED_SHUTDOWN_NEXT_IDLE
+ * @ingroup sched_constants
  *      This define is used to shudown the scheduling context during next idle period
  */
 #define NETAPI_SCHED_SHUTDOWN_NEXT_IDLE  2
@@ -221,7 +253,7 @@ typedef struct NETAPI_SCHED_SHUTDOWN_Tag
 } NETAPI_SCHED_SHUTDOWN_T;
 
 /**
- *  @ingroup netapi_sched_functions
+ *  @ingroup sched_functions
  *  @brief netapi_schedOpen: API to open a scheduling context
  *
  *  @details API to open a scheduling context
@@ -237,7 +269,7 @@ NETAPI_SCHED_HANDLE_T * netapi_schedOpen(NETAPI_T n,
 
 
 /**
- *  @ingroup netapi_sched_functions
+ *  @ingroup sched_functions
  *  @brief netapi_schedControl: API to re-configure a scheduling context, FUTURE, not implemented
  *
  *  @details API to re-configure a scheduling context
@@ -253,7 +285,7 @@ int netapi_schedControl(NETAPI_SCHED_HANDLE_T *s,
 
 
 /**
- *  @ingroup netapi_sched_functions
+ *  @ingroup sched_functions
  *  @brief netapi_schedWaitForEvents: API for main entry point to scheduler.
  *
  *  @details API for main entry point to scheduler. User application gives up control to scheduler.
@@ -266,7 +298,7 @@ int netapi_schedWaitForEvents(NETAPI_SCHED_HANDLE_T *s,
                               int * p_err);
 
 /**
- *  @ingroup netapi_sched_functions
+ *  @ingroup sched_functions
  *  @brief netapi_schedShutdown: API to shutdown scheduling context
  *
  *  @details API to shutdown scheduling context
@@ -281,7 +313,7 @@ int netapi_schedShutdown(NETAPI_SCHED_HANDLE_T * s,
                          int *p_err);
 
 /**
- *  @ingroup netapi_sched_functions
+ *  @ingroup sched_functions
  *  @brief netapi_schedShutdown: API to get the NETAPI handle from scheduling context 
  *
  *  @details API to get the NETAPI handle from scheduling context 
@@ -289,13 +321,15 @@ int netapi_schedShutdown(NETAPI_SCHED_HANDLE_T * s,
  *  @retval     Handle to NETAPI instance
  */
 static NETAPI_T netapi_schedGetNetapiHandle(NETAPI_SCHED_HANDLE_T *s)
-  { return (NETAPI_T)s->back;}
+{
+    return (NETAPI_T)s->back;
+}
 
 
 
 
 /**
- *  @ingroup netapi_sched_functions
+ *  @ingroup sched_functions
  *  @brief netapi_sched_get_stats: API to tget NETAP scheduling context statistics
  *
  *  @details   API to tget NETAP scheduling context statistics
index 7bfc3712691100e9c19e171eeb606f8773516cea..eebd52deb20801e79ce449b7cdf610a713391756 100755 (executable)
 
 
 /**
- *  @ingroup netapi_structures
+ *  @ingroup cfg_security_structures
  *  @brief NETAPI SA Statistics
  *
- *  @details Pointer to this strucutre is passed in the call to netapi_getSaStats API. It will be popluated with the requested statistics.  Currently only IPSEC stats are valid.
+ *  @details Pointer to this strucutre is passed in the call to netapi_getSaStats API. It will be popluated with the requested statistics.
+ *  Currently only IPSEC stats are valid.
  */
 typedef struct NETAPI_SA_STATS_Tag
 {
-#define NETAPI_IPSEC_STAT_VALID                 0x0001 /**< Indicates to user application that IPSEC stats are valid for INFLOW mode */
-#define NETAPI_SIDEBAND_DATA_MODE_STAT_VALID    0x0002 /**< Indicates to user application that IPSEC stats are valid for SIDEBAND mode */
+/**
+ * Bit map indicating the IPSec SA Inflow/Side band data mode stats validity
+ * <br>
+ * The validParams field indicates to the caller which stats being returned by calling the @ref netapi_getSaStats are valid.
+ *      @ref NETAPI_IPSEC_STAT_VALID, @ref NETAPI_SIDEBAND_DATA_MODE_STAT_VALID
+ */
     uint16_t            validParams;            /**< Bit map indicating the IPSec SA Inflow/Side band data mode stats validity */
+
+/**
+ * @def NETAPI_IPSEC_STAT_VALID
+ * @ingroup security_constants
+ *      Indicates to user application that IPSEC stats are valid for INFLOW mode
+ */
+#define NETAPI_IPSEC_STAT_VALID                 0x0001 
+
+/**
+ * @def NETAPI_SIDEBAND_DATA_MODE_STAT_VALID
+ * @ingroup security_constants
+ *      Indicates to user application that IPSEC stats are valid for SIDEBAND mode 
+ */
+#define NETAPI_SIDEBAND_DATA_MODE_STAT_VALID    0x0002
+
     Sa_IpsecStats_t     saIpsecStats;           /**<  Structure containing IPSEC stats in INFLOW MODE*/
     Sa_DataModeStats_t  dataModeStats;          /**<  Structure containing IPSEC stats in SIDEBAND MODE */
 } NETAPI_SA_STATS_T;
 
 
 /**
- *  @ingroup netapi_structures
+ *  @ingroup cfg_security_structures
  *  @brief NETAPI security SA information
  *
  *  @details This structure contains the information necessary to create a security association (for either for inflow mode or sideband mode)
@@ -95,18 +115,21 @@ typedef struct NETAPI_SEC_SA_INFO_tag
 } NETAPI_SEC_SA_INFO_T;
 
 
+
 /**
- * @brief This defines the SA mode of operation to be INFLOW.  This means that IPSEC will be applied as the packet is being received or just before it is transmitted
+ * @brief This defines the SA mode of operation to be INFLOW.  This means that IPSEC will be applied as the packet is being received or just before it is transmitted TBD
+ * @ingroup security_constants
  */
 #define NETAPI_SEC_SA_INFLOW   0x2
 
 /**
- * @brief This defines the SA mode of operation to be SIDEBAND.  This means that Security Acclerator is to be used a traditional accelerator.
+ * @brief This defines the SA mode of operation to be SIDEBAND.  This means that Security Acclerator is to be used a traditional accelerator TBD
+ * @ingroup security_constants
  */
 #define NETAPI_SEC_SA_SIDEBAND 0x1
 
 /**
- *  @ingroup netapi_cfg_sec_functions
+ *  @ingroup cfg_security_functions
  *  @brief netapi_secAddSA  API to configure an IPSEC SA.
  *
  *  @details API to configure an IPSec SA. SAs are IPSec security contexts and define a uni-directional
@@ -135,7 +158,7 @@ NETCP_CFG_SA_T netapi_secAddSA(NETAPI_T h,
                                 int * perr);
 
 /**
- *  @ingroup netapi_cfg_sec_functions
+ *  @ingroup cfg_security_functions
  *  @brief  netapi_secDelSA: API to delete an IPSEC SA. 
  *
  *  @details API to delete an IPSEC SA
@@ -149,7 +172,7 @@ NETCP_CFG_SA_T netapi_secAddSA(NETAPI_T h,
 void netapi_secDelSA(NETAPI_T h,int iface_no, NETCP_CFG_SA_T  sa_app_id,  int *perr);
 
 /**
- *  @ingroup netapi_cfg_sec_functions
+ *  @ingroup cfg_security_functions
  *  @brief netapi_secAddRxPolicy: API to add a recieve security policy 
  *
  *  @details API to add a recieve security policy
@@ -158,7 +181,7 @@ void netapi_secDelSA(NETAPI_T h,int iface_no, NETCP_CFG_SA_T  sa_app_id,  int *p
  *  @param[in] ipType   IPV4 or IPV6
  *  @param[in] src_ip_addr  source IP for policy check
  *  @param[in] dst_ip_addr  destination IP for policy check
- *  @param[in] ip_qualifiers  IP qualifiers for policy check (see @ref  nwaIpOpt_t)
+ *  @param[in] ip_qualifiers  IP qualifiers for policy check
  *  @param[in] route    Optional route @ref NETCP_CFG_ROUTE_HANDLE_T
  *  @param[out] perr    Pointer to error code.
  *  @retval    Aplication id associated with created receive security policy @ref NETCP_CFG_IPSEC_POLICY_T.  This is used to refer to the policy in the @ref netapi_secDelRxPolicy call.  Also, packets that match this policy but do not pass any further lookups in NETCP will be tagged with this ID
@@ -174,7 +197,7 @@ NETCP_CFG_IPSEC_POLICY_T netapi_secAddRxPolicy(NETAPI_T h,
                                 int * perr);
 
 /**
- *  @ingroup netapi_cfg_sec_functions
+ *  @ingroup cfg_security_functions
  *  @brief netapi_secDelRxPolicy: API to add a recieve security policy 
  *
  *  @details API to add a recieve security policy
@@ -190,7 +213,7 @@ void netapi_secDelRxPolicy(NETAPI_T h,
 
 
 /**
- *  @ingroup netapi_cfg_sec_functions
+ *  @ingroup cfg_security_functions
  *  @brief netapi_getSaStats: API to retrieve SA statistics via NWAL.
  *
  *  @details API to retrieve SA statistics via NWAL.
index 0ac7322aa06e596a2e9228d1d9d2a54d414ce54c..5f40430ecccd9038ed90b06063dce9500864be44 100755 (executable)
@@ -51,7 +51,7 @@
 
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def NETAPI_ENABLE_SECURITY
  *      Define this to enable securtiy.
  * @note Libraries using netapi need to be built with SA enabled
@@ -60,7 +60,7 @@
 
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def NETAPI_USE_DDR
  *      Define this to enable use of cached DDR for buffers and descriptors. 
  * @note Do not define if USE_MSMC defined below
@@ -70,7 +70,7 @@
 
 #ifdef NETAPI_USE_DDR
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def NETAPI_TUNE_USE_CACHE_OPS
  *      Define this to enable use of cached DDR for buffers and descriptors. 
  * @note Do not define if USE_MSMC defined below
@@ -79,7 +79,7 @@
 #endif
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def NETAPI_USE_MSMC
  *      Define this to enable use of un-cached MSMC for buffers and descriptors 
  * @note Do not define if USE_DDR defined above 
 #endif
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
 * @def TUNE_NETAPI_NUM_CORES
 *       This defines the number of cores (theads) 
  */
 #define TUNE_NETAPI_NUM_CORES 1
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_PERM_MEM_SZ
  *      This defines how much contiguous memory to grab. This is used for
  *      descriptors and buffers in the case of uncached configuration only.  
 #define TUNE_NETAPI_PERM_MEM_SZ   (2*1024*1024) 
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_MAX_PKTIO
  *      This defines the number of GLOBAL pkt io channels
  */
 #define TUNE_NETAPI_MAX_PKTIO 16
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_DEFAULT_BUFFER_SIZE
  *      This defines the size of the netapi default pktlib heap buffers This can be set at @ref netapi_init 
  */
 
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_DEFAULT_NUM_BUFFERS
  *      This defines the number of netapi default pktlib heap buffers (and assoc descriptors)
  *      this can be set at @ref netapi_init
 #define TUNE_NETAPI_DEFAULT_NUM_BUFFERS  200 
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_DEFAULT_NUM_SOLO_DESCRIPTORS
  *      This defines the number of netapi default pkt lib heap solo descriptors
  *      this can be set at @ref netapi_init
 #define TUNE_NETAPI_DEFAULT_NUM_SOLO_DESCRIPTORS  100 
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  NETAPI_INCLUDE_SCHED
  *      Define this to include the scheduler component
  */
 #define NETAPI_INCLUDE_SCHED 
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_QM_CONFIG_MAX_DESC_NUM
  *      This defines the number of of QM descriptors (total). This can be set set in @ref netapi_init
  * @note Must be a power or 2
 
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_NUM_LOCAL_DESC
  *      This defines the number of of QM descriptors (total). This can be set set in @ref netapi_init
 */
 
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_NUM_GLOBAL_DESC
  *      This defines the number of global descriptors.
  * @note Must be a power or 2
 #define TUNE_NETAPI_NUM_GLOBAL_DESC  1024
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_DESC_SIZE
  *      This defines the descriptor size
  * @note This define should NOT be changes
 
 #ifdef NETAPI_USE_DDR
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_QM_START_INDEX
  *      This defines the queue manager start index
  * @note This must reflect what the kernel is uding for their region, see device tree blob for details.
 #define TUNE_NETAPI_QM_START_INDEX  0x2000  //WARNING:  must reflect what kernel is using for their region, see device tree blob
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_QM_GLOBAL_REGION
  *      This defines the queue manager global region
  * @note This must reflect what the kernel is uding for their region, see device tree blob for details.
 
 #else //use msmc..
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_QM_START_INDEX
   *     This defines the queue manager start index
  * @note This must reflect what the kernel is uding for their region, see device tree blob for details.
 #define TUNE_NETAPI_QM_START_INDEX  0  //ok to use 0 since kernel is somewhere higher
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_QM_GLOBAL_REGION
  *      This defines the queue manager global region
  * @note This must reflect what the kernel is uding for their region, see device tree blob for details.
  */
-#define  0  //ok to to use 0 since msmc addr < ddr addr 
+#define  TUNE_NETAPI_QM_GLOBAL_REGION 0  //ok to to use 0 since msmc addr < ddr addr 
 
 #endif
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_NWAL_ENABLE_PASS_LOOPBACK
  *      Define this to 1 for debutg mode where NETCP just loops pkts that tx back to rx
  */
 /// @endcond
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_MAX_NUM_MAC
  *      This defines the number of logical mac addresses
  */
 #define TUNE_NETAPI_MAX_NUM_MAC                2
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_MAX_NUM_IP
  *      This defines the number of ip addresses
  */
 #define TUNE_NETAPI_MAX_NUM_IP                 32
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_MAX_NUM_PORTS_PER_CORE
  *      This defines the number of ports per core
  */
 #define TUNE_NETAPI_MAX_NUM_PORTS_PER_CORE     4
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_MAX_NUM_PORTS
  *      This defines the number maximum number of ports
  */
 
 #ifdef NETAPI_ENABLE_SECURITY
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_MAX_NUM_IPSEC_CHANNELS
  *      This defines the number maximum number of ipsec channels
  */
 #define TUNE_NETAPI_MAX_NUM_IPSEC_CHANNELS     32
 #else
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_MAX_NUM_IPSEC_CHANNELS
  *      This defines the number maximum number of ipsec channels
  */
 #endif
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_MAX_NUM_L2_L3_HDRS
  *      This defines the number maximum number of L2_L3 headers TBD
  */
 #define TUNE_NETAPI_MAX_NUM_L2_L3_HDRS         3
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_MAX_NUM_TRANS
  *      This defines the number maximum number of trans TBD
  */
 /// @endcond
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_MAX_BURST_RCV
  *      This defines the maximum number of packets to receive in one pktio poll.
  */
 #define TUNE_NETAPI_MAX_BURST_RCV 32
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_MAX_IP
  *      This defines the maximum number of IP's that can be attached to MAC interfaces.
  */
 #define TUNE_NETAPI_MAX_IP 4
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def TUNE_NETAPI_MAX_INTERFACES
  *      This defines the maximum number of MAX interfaces */
 #define TUNE_NETAPI_MAX_INTERFACES 2
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_NUM_TIMER_CELLS
  *      This defines the number of hash bins in a timer group.
  */
 #define TUNE_NETAPI_NUM_TIMER_CELLS  128   //# of hash bins in a timer group
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_NUM_GLOBAL_TIMERS
  *      This defines the number of global timer blocks
  */
 #define TUNE_NETAPI_NUM_GLOBAL_TIMERS  4    //# global timer blocks
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_MAX_HEAPS
  *      This defines the maximum number of heaps
  */
 #define TUNE_NETAPI_MAX_HEAPS  4   //max # of heaps one instance can create
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_MAX_CLASSIFIERS
  *      This defines the maximum number of classifiers
  */
 #define TUNE_NETAPI_MAX_CLASSIFIERS 16
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_MAX_BUF_POOLS_IN_FLOW
  *      This defines the  maximum number of buffer pools in flow -TBD
  * @note This define should NOT be changes
 
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_MAX_FLOWS
  *      This defines the maximum number of flows
  */
 #define TUNE_NETAPI_MAX_FLOWS  4   //app defined flows
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
 * @def  TUNE_NETAPI_MAX_SA
 *       This defines the maximum number of security associations
 */
 #define TUNE_NETAPI_MAX_SA 8   //rx&tx combined (so MAX_SA/4 tunnels typically)
 
 /**
- * @ingroup netapi_tune_parameters
+ * @ingroup tune_parameters
  * @def  TUNE_NETAPI_MAX_POLICY
  *      This defines the maximum number of security policies.
 */
index 8a61e16967db74b6b6290c1211e99b1afac73bb7..672d2b486b66010c4ead5000f8b9499a6284f0ad 100755 (executable)
@@ -56,7 +56,7 @@
 
 
 /**
- *  @ingroup netapi_structures
+ *  @ingroup cfg_structures
  *  @brief CPPI flow ID for default case, use NETCP_DEFAULT_FLOW
  */
 typedef struct NETCP_CFG_FLOW_Tag
@@ -65,15 +65,62 @@ typedef struct NETCP_CFG_FLOW_Tag
 } NETCP_CFG_FLOW_T;
 
 
+/**
+ *  @ingroup cfg_structures
+ *  @brief NETAPI configuration information
+ *
+ *  @details The parameters in this structure are used to configure NETAPI.
+ */
+typedef struct NETAPI_CFG_Tag
+{
+ int def_mem_size;                  /**<  Bytes of CMA memory we have allocated */
+ int def_flow_pkt_rx_offset;        /**<  Offset in pkt buffer for hw to start RX */
+ int def_max_descriptors;           /**<  Number of descriptors in system  (must be power of 2), 2^14 max */
+ int def_tot_descriptors_for_us;    /**<  Number of descriptors to create in our region (must be power of 2)*/
+ int def_heap_n_descriptors;        /**<  Number of descriptor plus buffers in default heap*/
+ int def_heap_n_zdescriptors;       /**<  Number of zero len descriptors in defaut heap*/
+ int def_heap_buf_size;             /**<  Size of buffers in default heap, max amount of area for packet data */
+ int def_heap_tailroom_size;        /**<  Size of tailroom in reserve */
+ int def_heap_extra_size;           /**<  Size of extra space at end of buffer */ 
+}  NETAPI_CFG_T;
+
+/* @note:
+   each buffer will be allocated:  def_heap_buf_size+def_heap_extra_size bytes
+   each descriptor attached to these buffers will have rigBufferLen of:
+      def_heap_buf_size.
+   for default RX flow,  for rx packet, the bufptr  will be def_flow_pkt_rx_offset.
+   for detault RX flow,  threshold (ie max # of bytes in buffer) will be:
+       def_heap_buf_size - def_heap_tailroom_size-def_flow_pkt_rx_offset
+
+
+ RX Packet from NetCP
+
+Headroom [Application]     Packet [HW]                Tailroom [Application]    Extra Space [Application]
+<-----------------------><--------------------------><------------------------><----------------------->
+
+Cppi_HostDesc->origBufferLen
+<----------------------------------------------------------------------------->
+Cppi_HostDesc->origBuffPtr
+|
+\/
+|------------def_heap_buf_size-------------------------------------------------|--def_heap_extra_size--|
+| def_flow_pkt_rx_offset| max Cppi_HostDesc->buffLen | def_heap_tailroom_size  |   Extra Size          |
+                        ^
+                        |
+                     Cppi_HostDesc->buffPtr
+
+
+*/
+
 
 /**
- * @ingroup netapi_constants
+ * @ingroup cfg_constants
  * @brief  This defines the handle to NETCP configuration flow.
  */
 typedef void *  NETCP_CFG_FLOW_HANDLE_T;
 
 /**
- * @ingroup netapi_constants
+ * @ingroup cfg_constants
  * @def NETCP_DEFAULT_FLOW
  *      This defines the NETCP default FLOW to be NULL.
  */
@@ -81,7 +128,7 @@ typedef void *  NETCP_CFG_FLOW_HANDLE_T;
 
 
 /**
- * @ingroup nwal_api_constants
+ * @ingroup cfg_constants
  * @brief  Handle to the default NETCP route.
  * @details Application to use this handle to identify default NETCP route.
  */
@@ -95,30 +142,30 @@ typedef void * NETCP_CFG_ROUTE_HANDLE_T;
 
 
 /**
- *  @ingroup netapi_structures
+ *  @ingroup cfg_structures
  *  @brief NETCP application defined route information.
  *
  */
 typedef struct NETCP_CFG_ROUTE_Tag
 {
    NETCP_CFG_FLOW_T * p_flow;   /**< NULL or NETCP_DEFAULT_FLOW for default flow, @ref NETCP_CFG_FLOW_T */
-   PKTIO_HANDLE_T * p_dest_q;/**<NULL for default destination queue */
+   PKTIO_HANDLE_T * p_dest_q;   /**<NULL for default destination queue */
 } NETCP_CFG_ROUTE_T;
 
 /**
- * @ingroup netapi_constants
+ * @ingroup cfg_constants
  * @def NETCP_CFG_ACTION_DISCARD
  *      This defines the NETCP action to discard packet.
  */
 #define NETCP_CFG_ACTION_DISCARD 0
 /**
- * @ingroup netapi_constants
+ * @ingroup cfg_constants
  * @def  NETCP_CFG_ACTION_CONTINUE
  *      This defines the NETCP action to pass packet ono the next classifier
  */
 #define NETCP_CFG_ACTION_CONTINUE 1
 /**
- * @ingroup netapi_constants
+ * @ingroup cfg_constants
  * @def NETCP_CFG_ACTION_TO_SW
  *      This defines the NETCP action to pass packet to User space application
  */
@@ -126,20 +173,20 @@ typedef struct NETCP_CFG_ROUTE_Tag
 
 
 /**
- * @ingroup nwal_api_constants
+ * @ingroup cfg_constants
  * @brief  Handle to the default NETCP route.
  * @details Application to use this handle to identify default NETCP route.
  */
 typedef void * NETCP_CFG_VLAN_T;
 
 /**
- * @ingroup nwal_api_constants
+ * @ingroup cfg_constants
  * @brief  AppID for MAC interface
  */
 typedef uint32_t NETCP_CFG_MACIF_T;
 
 /**
- * @ingroup nwal_api_constants
+ * @ingroup cfg_constants
  * @brief AppID for IP interface
  */
 typedef uint32_t NETCP_CFG_IP_T;
@@ -147,21 +194,21 @@ typedef uint32_t NETCP_CFG_IP_T;
 
 
 /**
- * @ingroup nwal_api_constants
+ * @ingroup cfg_constants
  * @brief This define is used to identify the application id associated with a created SA
  */
 typedef uint32_t NETCP_CFG_SA_T;
 
 
 /**
- * @ingroup nwal_api_constants
+ * @ingroup cfg_constants
  * @brief AppId used to identify NETCP IPSEC policy
  */
 typedef uint32_t NETCP_CFG_IPSEC_POLICY_T;
 
 
 /**
- * @ingroup nwal_api_constants
+ * @ingroup cfg_constants
  * @def NETCP_CFG_NO_INTERFACE
  *      This define is to be used in AddIp, AddClassifier to indicate any MAC address.
  */
@@ -179,15 +226,15 @@ typedef uint32_t NETCP_CFG_IPSEC_POLICY_T;
 */
 
 /**
- * @ingroup netapi_constants
+ * @ingroup cfg_constants
  * @def NETAPI_NETCP_MATCH_GENERIC_MAC
- *      This define is used to indicate that apacket matched a MAC entry.  Entry # (logical interface) is in byte 0 of APPID.  
+ *      This define is used to indicate that apacket matched a MAC entry.  Entry # (logical interface) is in byte 0 of APPID.
  *      Packet did not match any other rule
  */
 #define NETAPI_NETCP_MATCH_GENERIC_MAC  0x10000000  //lower byte==interface
 
 /**
- * @ingroup netapi_constants
+ * @ingroup cfg_constants
  * @def NETAPI_NETCP_MATCH_GENERIC_IP
  *      This define is used to indicate that a packet matched a MAC entry.  Entry # (logical interface) is in byte 0 of APPID
  *      packet matched a generic IP rule attached to that interface.  The IP rule # for the interface
@@ -197,7 +244,7 @@ typedef uint32_t NETCP_CFG_IPSEC_POLICY_T;
 
 
 /**
- * @ingroup netapi_constants
+ * @ingroup cfg_constants
  * @def NETAPI_NETCP_MATCH_CLASS
  *      This define is used to indicate that a packet matched a MAC entry.  Entry # (logical interface) is in byte 0 of APPID
  *      packet matched a generic IP rule  attached to that interface OR a general IP rule added as part of
@@ -208,7 +255,7 @@ typedef uint32_t NETCP_CFG_IPSEC_POLICY_T;
 #define NETAPI_NETCP_MATCH_CLASS        0x80000000  //FULL MATCH or' in classifier (16 bits), lower byte==interface
 
 /**
- * @ingroup netapi_constants
+ * @ingroup cfg_constants
  * @def NETAPI_NETCP_MATCH_CLASS_L3
  *      This define is used to indicate that a  packet matched a MAC entry.  Entry # (logical interface) is in byte 0 of APPID
  *      packet matched a general IP rule added as part of a classifier.  But it not match a
@@ -218,7 +265,7 @@ typedef uint32_t NETCP_CFG_IPSEC_POLICY_T;
 #define NETAPI_NETCP_MATCH_CLASS_L3     0x40000000  //MATCHED L3 but not L4.  lower byte==interface
 
 /**
- * @ingroup netapi_constants
+ * @ingroup cfg_constants
  * @def NETAPI_NETCP_MATCH_IPSEC
  *      This define is used to indicate that a packet matched a MAC entry.  Entry # (logical interface) is in byte 0 of APPID
  *      packet matched an IPSEC SA  rule (matched proto, dest ip and SPI).  The SA id  is in
@@ -227,7 +274,7 @@ typedef uint32_t NETCP_CFG_IPSEC_POLICY_T;
 #define NETAPI_NETCP_MATCH_IPSEC        0x01000000  //lower byte==interface, Or' in SA id (16 bits)
 
 /**
- * @ingroup netapi_constants
+ * @ingroup cfg_constants
  * @def NETAPI_NETCP_MATCH_IPSEC_POLICY
  *      This define is used to indicate that a packet matched a MAC entry.  Entry # (logical interface) is in byte 0 of APPID
  *      packet matched an IPSEC SA rule (matched proto, dest ip and SPI).  Packet matched
@@ -241,7 +288,7 @@ typedef uint32_t NETCP_CFG_IPSEC_POLICY_T;
 
 
 /**
- *  @ingroup netapi_cfg_functions
+ *  @ingroup cfg_functions
  *  @brief netcp_cfgAddFlow   API to add a flow
  * 
  *  @details This api is used to add a flow
@@ -263,7 +310,7 @@ NETCP_CFG_FLOW_HANDLE_T netcp_cfgAddFlow(NETAPI_T h,
 
 
 /**
- *  @ingroup netapi_cfg_functions
+ *  @ingroup cfg_functions
  *  @brief netcp_cfgDelFlow   API to delete a flow
  * 
  *  @details This api is used to delete a flow
@@ -278,7 +325,7 @@ void netcp_cfgDelFlow(NETAPI_T h ,
                                             int * err);
 
 /**
- *  @ingroup netapi_cfg_functions
+ *  @ingroup cfg_functions
  *  @brief netcp_cfgDelMac   API to delete MAC  interface
  * 
  *  @details This api is used to delete a MAC interface
@@ -293,7 +340,7 @@ void netcp_cfgDelMac(NETAPI_T h,int iface_no,  int *err);
 
 
 /**
- *  @ingroup netapi_cfg_functions
+ *  @ingroup cfg_functions
  *  @brief  API attaches an IP adderess and qualifier to a MAC interface
  * 
  *  @details This api is used to add an IP address to a MAC interface along
@@ -324,7 +371,7 @@ NETCP_CFG_IP_T  netcp_cfgAddIp(
                   );
 
 /**
- *  @ingroup netapi_cfg_functions
+ *  @ingroup cfg_functions
  *  @brief netcp_cfgDelIp   API to delete IP interface
  * 
  *  @details This api is used to delete an IP interface
@@ -348,7 +395,7 @@ void netcp_cfgDelIp(NETAPI_T h, int iface_no,  nwal_IpType ipType,
 
 
 /**
- *  @ingroup netapi_cfg_functions
+ *  @ingroup cfg_functions
  *  @brief netcp_cfgCreateMacInterface  API to create a MAC interface
  * 
  *  @details This api is used to create a MAC interface.
@@ -390,7 +437,7 @@ typedef uint32_t NETCP_CFG_CLASS_T;
 
 
 /**
- *  @ingroup netapi_structures
+ *  @ingroup cfg_structures
  *  @brief NETAPI Class L4 Configuration
  *
  *  @details This structure contains Class L4 Configuration. L2,L3 implied by iface, ip
@@ -406,7 +453,7 @@ typedef struct NETCP_CFG_CLASS_L4_Tag
 
 
 /**
- *  @ingroup netapi_structures
+ *  @ingroup cfg_structures
  *  @brief NETAPI Classifier L4 plus IPSEC policy configuration
  *
  *  @details This structure contains Class L4 plus IPSEC policy configuration. L2,L3 implied by iface, ip
@@ -425,7 +472,7 @@ typedef struct NETCP_CFG_CLASS_L4_IPSEC_Tag
 
 
 /**
- *  @ingroup netapi_structures
+ *  @ingroup cfg_structures
  *  @brief NETAPI Classifier L4/L3 configuration
  *
  *  @details This structure contains Class L4 and Class L3 configuration. L2 implied by iface
@@ -444,25 +491,35 @@ typedef struct NETCP_CFG_CLASS_L3_L4_Tag
 } NETCP_CFG_CLASS_L3_L4_T;
 
 /**
- *  @ingroup netapi_structures
+ *  @ingroup cfg_structures
  *  @brief NETAPI Classifier configuration
  *
  *  @details This structure contains the NETAPI classifer configuration
  */
 typedef struct NETCP_CFG_CLASSIFIER_Tag
 {
-    int classType;              /**< Classifier type */
+
+/**
+ * Classifer type which can be set to one of the following defines:
+ * <br>
+ *      @ref NETCP_CFG_CLASS_TYPE_L4 , @ref NETCP_CFG_CLASS_TYPE_L3_L4
+ */
+    int classType;
+
 /**
  * @def NETCP_CFG_CLASS_TYPE_L4
- *      This defines classifier type to be Class L4
+ * @ingroup cfg_constants
+ *      This defines classifier type to be Class L4 TBD
  */
 #define NETCP_CFG_CLASS_TYPE_L4  0
 
 /**
  * @def NETCP_CFG_CLASS_TYPE_L3_L4
- *      This defines classifier type to be Class L4 and L3
+ * @ingroup cfg_constants
+ *      This defines classifier type to be Class L4/L3 TBD
  */
 #define NETCP_CFG_CLASS_TYPE_L3_L4  1
+
      union
     {
         NETCP_CFG_CLASS_L3_L4_T     c_l3_l4;    /**< @ref NETCP_CFG_CLASS_L3_L4_T */
@@ -474,7 +531,7 @@ typedef struct NETCP_CFG_CLASSIFIER_Tag
 
 
 /**
- *  @ingroup netapi_cfg_functions
+ *  @ingroup cfg_functions
  *  @brief netcp_cfgAddClass   API can be used to route a packet flow to a specific PKTIO channel
  * 
  *  @details This api can be used to route a packet flow to a particular PktIO channel, use a specific
@@ -495,7 +552,7 @@ typedef struct NETCP_CFG_CLASSIFIER_Tag
 
 
 /**
- *  @ingroup netapi_cfg_functions
+ *  @ingroup cfg_functions
  *  @brief netcp_cfgDelClass   API can be used to delete a preconfigured classifier
  * 
  *  @details This API can be used to delete a preconfigured classifier
@@ -526,7 +583,7 @@ typedef void (*NETCP_CFG_STATS_CB)(NETAPI_T h,
                                    paSysStats_t* pPaStats);
 
 /**
- *  @ingroup netapi_cfg_functions
+ *  @ingroup cfg_functions
  *  @brief netcp_cfgReqStats   API to request statistics from NETCP
  * 
  *  @details This api is used to request a statistics from NETCP.  This will generate a stats request
index 96ae76e45555b66a30e34e563aeb84fe924f84a2..0ddf435b40db006967b7649e4eaf8452cf7ffa13 100755 (executable)
@@ -43,7 +43,7 @@
 /**
  *   @file pktio.h
  *   @brief pktio module main header file for user space transport library
- *   @detailts:  pktio provides an abstraction to H/W queues that are used to transmit and receive packets, IPC messages, etc.  Pktio channels can be created by user but there are also several canned channels available  for NETCP transmit, receive, SA sideband crypto transmit and receive 
+ *   @details:  pktio provides an abstraction to H/W queues that are used to transmit and receive packets, IPC messages, etc.  Pktio channels can be created by user but there are also several canned channels available  for NETCP transmit, receive, SA sideband crypto transmit and receive 
  */
 
 
 
 /**
  * @def PKTIO_NOMEM
+ * @ingroup pktio_constants
  *      This define is used to indicate out of memory to user space application 
  */
 #define PKTIO_NOMEM  NETAPI_ERR_NOMEM
 
 /**
  * @def NETCP_TX
+ * @ingroup pktio_constants
  *      This defines the pktio NETCP transmit  channel name
  */
 #define NETCP_TX "NETCP_TX"
 
 /**
  * @def NETCP_RX
+ * @ingroup pktio_constants
  *      This defines the pktio NETCP receive channel name
  */
 #define NETCP_RX "NETCP_RX"
 
 /**
  * @def NETCP_SB_RX
+ * @ingroup pktio_constants
  *      This defines the pktio NETCP-SA receive SIDEBAND channel name
  */
 #define NETCP_SB_RX "NETCP_SB_RX"
 
 /**
  * @def NETCP_SB_TX
+ * @ingroup pktio_constants
  *      This defines the pktio NETCP-SA transmit SIDEBAND channel name
  */
 #define NETCP_SB_TX "NETCP_SB_TX"
 
 /**
  * @def PKTIO_MAX_NAME
+ * @ingroup pktio_constants
  *      This defines the maximum length of a pktio channel name
  */
 #define PKTIO_MAX_NAME 19  
 
 /**
- *  @ingroup netapi_structures
+ *  @ingroup pktio_structures
  *  @brief PKTIO meta data information .
  *
  *  @details PKTIO meta data information TBD
  */
 typedef struct PKTIO_METADATA_Tag
 {
-    int flags1; /**< Meta Data flag configuration */
+/**
+ * Flags for PKTIO Meta Data configuration
+ * <br>
+ * valid flag1 parameters are as follows:
+ *      @ref PKTIO_META_RX , @ref PKTIO_META_TX, @ref PKTIO_META_SB_RX, @ref PKTIO_META_SB_TX
+ */
+    int flags1; 
+
 /**
  * @def PKTIO_META_RX
+ * @ingroup pktio_constants
  *      This defines the pktio NETCP receive INFLOW channel
  */
 #define PKTIO_META_RX 0x01
 
 /**
  * @def PKTIO_META_TX
+ * @ingroup pktio_constants
  *      This defines the pktio NETCP transmit INFLOW channel
  */
 #define PKTIO_META_TX 0x02
 
 /**
  * @def PKTIO_META_SB_RX
+ * @ingroup pktio_constants
  *      This defines the pktio NETCP SIDEBAND channel channel
  */
 #define PKTIO_META_SB_RX 0x4  /**< SB crypto rx */
 
 /**
  * @def PKTIO_META_SB_TX
+ * @ingroup pktio_constants
  *      This defines the pktio NETCP transmit SIDEBAND channel
  */
 #define PKTIO_META_SB_TX 0x8  /** <SB crypto tx */
 
 /**
  * @def PKTIO_META_APP_DEF
- *      TBD
+ * @ingroup pktio_constants
+ *      TBD- is this part of flags2?
  */
 #define PKTIO_META_APP_DEF 0x80000000
+
+/**
+ * @brief NWAL Packet meta data information
+ */
     union
     {
         nwalRxPktInfo_t * rx_meta;          /**< NWAL Packet meta data information for incoming packet */
@@ -139,17 +161,21 @@ typedef struct PKTIO_METADATA_Tag
         nwalDmRxPayloadInfo_t * rx_sb_meta; /**<NWAL Data mode meta data payload information from NetCP */
         nwalDmTxPayloadInfo_t * tx_sb_meta; /**< NWAL Data Mode Payload information for packet to SA */
     } u;                                    /**< union NWAL Packet meta data information  */
-    void * sa_handle; /**<valid for PKTIO_META_TX with IPSEC inflow or PKTIO_PKTIO_META_SB_TX MUST BE nwal_HANDLE_INVALID otherwise */
+
+/**
+ * @brief valid for PKTIO_META_TX with IPSEC inflow or PKTIO_PKTIO_META_SB_TX MUST BE nwal_HANDLE_INVALID otherwise
+ */
+    void * sa_handle;
 } PKTIO_METADATA_T;
 
 /* the callback function */
 struct PKTIO_HANDLE_tag;
 
 /**
- *  @ingroup netapi_structures
- *  @brief PKTIO polling control struct FUTURE
+ *  @ingroup pktio_structures
+ *  @brief PKTIO polling control struct FUTURE- TBD
  *
- *  @details PKTIO polling control struct FUTURE
+ *  @details PKTIO polling control struct FUTURE- TBD
  */
 typedef struct PKTIO_POLL_Tag
 {
@@ -158,12 +184,12 @@ typedef struct PKTIO_POLL_Tag
 
 /**
  * @def PKTIO_MAX_RECV
+ * @ingroup pktio_constants
  *      This defines the maximum number of packets to receive in one pktio poll, @ref TUNE_NETAPI_MAX_BURST_RCV
  */
 #define PKTIO_MAX_RECV  (TUNE_NETAPI_MAX_BURST_RCV)
 
 
-
 /**
  *  @ingroup netapi_cb_functions
  *  @brief PKTIO_CB   Callback function to be issued on packet receive
@@ -184,7 +210,7 @@ typedef void (*PKTIO_CB)(struct PKTIO_HANDLE_tag * channel,
                          uint64_t ts);
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief PKTIO_SEND   PKTIO specific send function
  * 
  *  @details The application calls this PKTIO specific send function to transmit packet
@@ -202,7 +228,7 @@ typedef int (*PKTIO_SEND)(struct PKTIO_HANDLE_tag * channel,
 
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief PKTIO_POLL   PKTIO specific poll function
  * 
  *  @details The application calls this PKTIO specific POLL function
@@ -222,62 +248,84 @@ typedef int (*PKTIO_POLL)(struct PKTIO_HANDLE_tag * channel,
 #define PKTIO_NA 0
 
 /**
- *  @ingroup netapi_structures
+ *  @ingroup pktio_structures
  *  @brief PKTIO configuration information
  *
  *  @details PKTIO :q information
  */
 typedef struct PKTIO_CFG_Tag
 {
+/**
+ * Flags for PKTIO channel configuration
+ * <br>
+ * The following are flags used to configure the pktio channel:
+ *      @ref PKTIO_R , @ref PKTIO_W, @ref PKTIO_RW
+ */
+    int flags1; 
+
 /**
  * @def PKTIO_R
+ * @ingroup pktio_constants
  *      This defines the pktio channel as type read TBD
  */
 #define PKTIO_R 0x1
 
 /**
  * @def PKTIO_W
+ * @ingroup pktio_constants
  *      This defines the pktio channel as type write TBD
  */
 #define PKTIO_W 0x2
 
 /**
  * @def PKTIO_RW
+ * @ingroup pktio_constants
  *      This defines the pktio channel as type read/write TBD
  */
 #define PKTIO_RW (PKTIO_R | PKTIO_W)
 
-int flags1; /**< Flags for PKTIO channel configuration */
+
 
 /**
- * @def PKTIO_LOCAL
- *      This defines the pktio channel as type local TBD
+ * Additional flags  for PKTIO channel configuration
+ * <br>
+ * The following are flags used to configure the pktio channel:
+ *      @ref PKTIO_LOCAL , @ref PKTIO_GLOBAL, @ref PKTIO_RW
  */
-#define PKTIO_LOCAL  0x2
+int flags2; /**< Flags for PKTIO channel configuration */
 
 /**
  * @def PKTIO_GLOBAL
+ * @ingroup pktio_constants
  *      This defines the pktio channel as type global TBD
  */
 #define PKTIO_GLOBAL 0x1
 
+/**
+ * @def PKTIO_LOCAL
+ * @ingroup pktio_constants
+ *      This defines the pktio channel as type local TBD
+ */
+#define PKTIO_LOCAL  0x2
+
 /**
  * @def PKTIO_PKT
+ * @ingroup pktio_constants
  *      This defines the pktio channel is for NETCP
  */
 #define PKTIO_PKT    0x4
 
 /**
  * @def PKTIO_SB
+ * @ingroup pktio_constants
  *      This defines the pktio channel is for sideband crypto
  */
 #define PKTIO_SB     0x8
 
-int flags2; /**< Flags for PKTIO channel configuration */
-
 /**
  * @def PKTIO_Q_ANY
- *      This defines TBD 
+ * @ingroup pktio_constants
+ *      This defines the pktio IO queue number to be TBD 
  */
 #define PKTIO_Q_ANY -1
 
@@ -294,7 +342,7 @@ struct NETAPI_tag;
 
 
 /**
- *  @ingroup netapi_structures
+ *  @ingroup pktio_structures
  *  @brief PKTIO handle structure definition.
  *
  *  @details PKTIO handle strucutre which is returned from call to @ref pktio_create
@@ -303,19 +351,58 @@ typedef struct PKTIO_HANDLE_Tag
 {
 /**
  * @def PKTIO_INUSE
+ * @ingroup pktio_constants
  *      This defines is used to TBD
  */
 #define PKTIO_INUSE 0xfeedfeed
 
     int inuse;                      /**<true is pktio channel is in use TBD */
-    int use_nwal;                   /**<true if this is managed by nwal */
-#define  PKTIO_4_IPC 0              /**<For IPC */
-#define  PKTIO_4_ADJ_NWAL 1         /**<(RX)app queues managed by NWAL */
-#define  PKTIO_DEF_NWAL 2           /**<default NWAL RX/TX queues */
-#define  PKTIO_4_ADJ_SB 3           /**<(RX) crypto side band app defined */
-#define  PKTIO_DEF_SB 4             /**<crypto side band default */
+
+/**
+ * Set the "use_nwal" field to one of the defines listed below.
+ * <br>
+ * The following defines are used to populate the use_nwal field TBD:
+ *      @ref PKTIO_4_IPC , @ref PKTIO_4_ADJ_NWAL, @ref PKTIO_DEF_NWAL. @ref PKTIO_4_ADJ_SB., @ref PKTIO_DEF_SB
+ */
+    int use_nwal;                  
+
+/**
+ * @def PKTIO_4_IPC
+ * @ingroup pktio_constants
+ *      This define is for IPC TBD
+ */
+#define  PKTIO_4_IPC 0
+
+/**
+ * @def PKTIO_4_ADJ_NWAL
+ * @ingroup pktio_constants
+ *      This define is for (RX)app queues managed by NWAL
+ */
+#define  PKTIO_4_ADJ_NWAL 1
+
+/**
+ * @def PKTIO_DEF_NWAL
+ * @ingroup pktio_constants
+ *      This define is for default NWAL RX/TX queues
+ */
+#define  PKTIO_DEF_NWAL 2
+
+/**
+ * @def PKTIO_4_ADJ_SB
+ *      This define is for (RX) crypto side band app defined
+ * @ingroup pktio_constants
+ */
+#define  PKTIO_4_ADJ_SB 3
+
+/**
+ * @def PKTIO_DEF_SB
+ * @ingroup pktio_constants
+ *      This define is for crypto side band default
+ */
+#define  PKTIO_DEF_SB 4
+
     struct NETAPI_tag * back;       /**< back handle */
-    void * nwalInstanceHandle;      /**<save here for conveninece */
+    void * nwalInstanceHandle;      /**<save here for conveninece  TBD*/
     PKTIO_CB cb;                    /**< callback for channel */
     PKTIO_CFG_T cfg;                /**<configuration */
     Qmss_QueueHnd q;                /**<the associated queue handle */
@@ -329,7 +416,7 @@ typedef struct PKTIO_HANDLE_Tag
 
 
 /**
- *  @ingroup netapi_structures
+ *  @ingroup pktio_structures
  *  @brief PKTIO control TBD
  *
  *  @details PKTIO control RBD
@@ -355,7 +442,7 @@ typedef struct PKTIO_CONTROL_Tag
 
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief API creates a NETAPI PKTIO channel 
  *
  *  @details This assigns global resources to a NETAPI pktio channel.
@@ -379,7 +466,7 @@ PKTIO_HANDLE_T * pktio_create(NETAPI_T netapi_handle,
                                int * err);
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief API opens an existing  NETAPI PKTIO channel
  *
  *  @details This opens an NETAPI pktio channel for use. The channel
@@ -405,7 +492,7 @@ PKTIO_HANDLE_T * pktio_open(NETAPI_T netapi_handle,
                             int * err);
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief API controls an existing NETAPI PKTIO channel
  *
  *  @details This controls an opened pktio channel
@@ -425,7 +512,7 @@ void pktio_control(PKTIO_HANDLE_T * handle,
                     int *err);
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief API closes a PKTIO channel
  *
  *  @details This closes a PKTIO channel
@@ -439,7 +526,7 @@ void pktio_close(PKTIO_HANDLE_T * handle,
                  int * err);
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief API deletes a PKTIO channel
  *
  *  @details This deletes a PKTIO channel
@@ -453,7 +540,7 @@ void pktio_delete(PKTIO_HANDLE_T * handle,
                   int * err);
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief  API sends data to a NETAPI PKTIO channel 
  *
  *  @details This sends a Ti_Pkt and associated meta data, 
@@ -477,7 +564,7 @@ static inline int  pktio_send(PKTIO_HANDLE_T * handle,
 }
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief API sends data to a NETAPI PKTIO channel
  *
  *  @details This sends an array of Ti_Pkt and associated meta data,
@@ -500,7 +587,7 @@ int pktio_sendMulti(PKTIO_HANDLE_T *handle,
                     int * err);
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief  API polls a NETAPI PKTIO channel for received packets 
  *
  *  @details This api polls a pktio channel. Any pending data in the channel is
@@ -523,7 +610,7 @@ static inline int pktio_poll(PKTIO_HANDLE_T * handle,
 }
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief API polls all NETAPI PKTIO channels associarted with @ref NETAPI_T instance
  *         for received packets
  *
@@ -582,7 +669,7 @@ int pktio_pollAll(NETAPI_T handle,
 
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief  API returns default packet queue to poll for netcp RX
  *  @note: these are expensive calls, so call once and save
  */
@@ -595,7 +682,7 @@ static inline Qmss_QueueHnd PKTIO_GET_DEFAULT_NETCP_Q(PKTIO_HANDLE_T *h)
 
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief  API returns L4Queue to poll for netcp RX (L4 classifier queue).
  *  @note: these are expensive calls, so call once and save
  */
@@ -608,7 +695,7 @@ return Info.rxL4PktQ;
 
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief  API to perform descriptor push to QMSS Queue
  */
 static inline void PKTIO_QMSS_QUEUE_PUSH_DESC_SIZE_RAW(Qmss_QueueHnd hnd,
@@ -619,7 +706,7 @@ static inline void PKTIO_QMSS_QUEUE_PUSH_DESC_SIZE_RAW(Qmss_QueueHnd hnd,
 }
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief  API to perform descriptor pop from QMSS Queue
  */
 static inline void* PKTIO_QMSS_QUEUE_POP_RAW(Qmss_QueueHnd hnd)
@@ -628,7 +715,7 @@ static inline void* PKTIO_QMSS_QUEUE_POP_RAW(Qmss_QueueHnd hnd)
 }
 
 /**
- *  @ingroup netapi_pktio_functions
+ *  @ingroup pktio_functions
  *  @brief  API to retrieve NWAL global instance handle.
  */
 static inline nwal_Inst PKTIO_GET_NWAL_INSTANCE(PKTIO_HANDLE_T *h)