CAEN Utility  2.0.2
Utilities for CAEN projects
CAENLinkedListTypes.h
Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * CAEN SpA - Software Division
4 * Via Vetraia, 11 - 55049 - Viareggio ITALY
5 * +39 0594 388 398 - www.caen.it
6 *
7 *******************************************************************************
8 *
9 * Copyright (C) 2019-2022 CAEN SpA
10 *
11 * This file is part of the CAEN Utility.
12 *
13 * The CAEN Utility is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU Lesser General Public
15 * License as published by the Free Software Foundation; either
16 * version 3 of the License, or (at your option) any later version.
17 *
18 * The CAEN Utility is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 * Lesser General Public License for more details.
22 *
23 * You should have received a copy of the GNU Lesser General Public
24 * License along with the CAEN Utility; if not, see
25 * https://www.gnu.org/licenses/.
26 *
27 * SPDX-License-Identifier: LGPL-3.0-or-later
28 *
29 ******************************************************************************
30 *
31 * \file CAENLinkedListTypes.h
32 * \brief Definitions and types for CAENLinkedList.h
33 * \author Francesco Pepe
34 *
35 ******************************************************************************/
36 
37 #ifndef CAEN_INCLUDE_TYPES_LINKEDLISTTYPES_H_
38 #define CAEN_INCLUDE_TYPES_LINKEDLISTTYPES_H_
39 
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51 
52 typedef struct c_listnode_t {
53  void* data;
54  struct c_listnode_t* next;
55  struct c_listnode_t* prev;
56 } c_listnode_t;
57 
58 typedef struct {
62 
63 typedef int(*c_listdata_comparator_t)(const void*, const void*); // similar to qsort
64 
67 #ifdef __cplusplus
68 }
69 #endif
70 
71 #endif // CAEN_INCLUDE_TYPES_LINKEDLISTTYPES_H_
struct c_listnode_t * next
c_listnode_t * head
c_listnode_t * tail
struct c_listnode_t * prev
int(* c_listdata_comparator_t)(const void *, const void *)
struct c_listnode_t c_listnode_t