flowmatch_example_helper.h Source File

Reference Documentation

Platform
Intel® PAC
Napatech SmartNIC
Content Type
Reference Information
Capture Software Version
Link™ Capture Software 12.10
Napatech Software Suite: examples/flowmatch/flowmatch_example_helper.h Source File
flowmatch_example_helper.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright 2023 Napatech A/S. All Rights Reserved.
4  *
5  * 1. Copying, modification, and distribution of this file, or executable
6  * versions of this file, is governed by the terms of the Napatech Software
7  * license agreement under which this file was made available. If you do not
8  * agree to the terms of the license do not install, copy, access or
9  * otherwise use this file.
10  *
11  * 2. Under the Napatech Software license agreement you are granted a
12  * limited, non-exclusive, non-assignable, copyright license to copy, modify
13  * and distribute this file in conjunction with Napatech SmartNIC's and
14  * similar hardware manufactured or supplied by Napatech A/S.
15  *
16  * 3. The full Napatech Software license agreement is included in this
17  * distribution, please see "NP-0405 Napatech Software license
18  * agreement.pdf"
19  *
20  * 4. Redistributions of source code must retain this copyright notice,
21  * list of conditions and the following disclaimer.
22  *
23  * THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTIES, EXPRESS OR
24  * IMPLIED, AND NAPATECH DISCLAIMS ALL IMPLIED WARRANTIES INCLUDING ANY
25  * IMPLIED WARRANTY OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, OR OF
26  * FITNESS FOR A PARTICULAR PURPOSE. TO THE EXTENT NOT PROHIBITED BY
27  * APPLICABLE LAW, IN NO EVENT SHALL NAPATECH BE LIABLE FOR PERSONAL INJURY,
28  * OR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES WHATSOEVER,
29  * INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, CORRUPTION OR
30  * LOSS OF DATA, FAILURE TO TRANSMIT OR RECEIVE ANY DATA OR INFORMATION,
31  * BUSINESS INTERRUPTION OR ANY OTHER COMMERCIAL DAMAGES OR LOSSES, ARISING
32  * OUT OF OR RELATED TO YOUR USE OR INABILITY TO USE NAPATECH SOFTWARE OR
33  * SERVICES OR ANY THIRD PARTY SOFTWARE OR APPLICATIONS IN CONJUNCTION WITH
34  * THE NAPATECH SOFTWARE OR SERVICES, HOWEVER CAUSED, REGARDLESS OF THE THEORY
35  * OF LIABILITY (CONTRACT, TORT OR OTHERWISE) AND EVEN IF NAPATECH HAS BEEN
36  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS DO NOT ALLOW
37  * THE EXCLUSION OR LIMITATION OF LIABILITY FOR PERSONAL INJURY, OR OF
38  * INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY TO YOU.
39  *
40  *
41 
42  */
43 
44 #ifndef EXAMPLES_FLOWMATCH_FLOWMATCH_EXAMPLE_HELPER_H
45 #define EXAMPLES_FLOWMATCH_FLOWMATCH_EXAMPLE_HELPER_H
46 
47 #define COLOR_IPV4 0x1
48 #define COLOR_IPV6 0x2
49 
50 #define KEY_SET_ID 4
51 
52 #define STREAM_ID_MISS 1
53 #define STREAM_ID_UNHA 2
54 
55 #define KEY_ID_IPV4 1
56 #define KEY_ID_IPV6 2
57 
58 #define ADAPTER_NO 0
59 
60 /**
61  * Check if application is still running.
62  * @return true until applicationStop() has been called.
63  */
64 bool applicationRunning(void);
65 
66 /**
67  * Sets flag that causes applicationRunning() to return false.
68  */
69 void applicationStop(void);
70 
71 /**
72  * Check if status is an error code, and if it is print the error description
73  * and then quit the application.
74  */
75 void handleErrorStatus(int status, const char* message);
76 
77 /**
78  * Configure a port to enable or disable host-loopback.
79  * This function is used to allow the example code to be independent
80  * of a specific test setup.
81  */
82 void setHostLoopback(uint8_t port, bool enable);
83 
84 #endif // EXAMPLES_FLOWMATCH_FLOWMATCH_EXAMPLE_HELPER_H