2 * @file frescan_bwres_requests.h
4 * @brief FRESCAN bandwith reservation layer: requests
6 * This module contains the request type definition and queues. They are used
7 * to ask negotiation, renegotiation or cancel contracts.
13 * @author Daniel Sangorrin <daniel.sangorrin@unican.es>
17 //----------------------------------------------------------------------
18 // Copyright (C) 2006 - 2009 by the FRESCOR consortium:
20 // Universidad de Cantabria, SPAIN
21 // University of York, UK
22 // Scuola Superiore Sant'Anna, ITALY
23 // Kaiserslautern University, GERMANY
24 // Univ. Politecnica Valencia, SPAIN
25 // Czech Technical University in Prague, CZECH REPUBLIC
27 // Thales Communication S.A. FRANCE
28 // Visual Tools S.A. SPAIN
29 // Rapita Systems Ltd UK
32 // See http://www.frescor.org
34 // The FRESCOR project (FP6/2005/IST/5-034026) is funded
35 // in part by the European Union Sixth Framework Programme
36 // The European Union is not liable of any use that may be
40 // based on previous work (FSF) done in the FIRST project
42 // Copyright (C) 2005 Mälardalen University, SWEDEN
43 // Scuola Superiore S.Anna, ITALY
44 // Universidad de Cantabria, SPAIN
45 // University of York, UK
47 // This file is part of FNA (Frescor Network Adaptation)
49 // FNA is free software; you can redistribute it and/or modify it
50 // under terms of the GNU General Public License as published by the
51 // Free Software Foundation; either version 2, or (at your option) any
52 // later version. FNA is distributed in the hope that it will be
53 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
54 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
55 // General Public License for more details. You should have received a
56 // copy of the GNU General Public License along with FNA; see file
57 // COPYING. If not, write to the Free Software Foundation, 675 Mass Ave,
58 // Cambridge, MA 02139, USA.
60 // As a special exception, including FNA header files in a file,
61 // instantiating FNA generics or templates, or linking other files
62 // with FNA objects to produce an executable application, does not
63 // by itself cause the resulting executable application to be covered
64 // by the GNU General Public License. This exception does not
65 // however invalidate any other reasons why the executable file might be
66 // covered by the GNU Public License.
67 // -----------------------------------------------------------------------
71 #ifndef _FRESCAN_BWRES_REQUESTS_H_
72 #define _FRESCAN_BWRES_REQUESTS_H_
74 #include "frescan_types.h"
76 extern int frescan_bwres_requests_init(int max_ceiling);
77 extern int frescan_bwres_requests_alloc(frescan_bwres_request_id_t *req);
78 extern int frescan_bwres_requests_free(frescan_bwres_request_id_t req);
79 extern int frescan_bwres_requests_enqueue(frescan_bwres_request_id_t req);
80 extern int frescan_bwres_requests_dequeue(frescan_bwres_request_id_t *req);
83 * frescan_bwres_requests_get_data() - gets the data of the request
85 * @data: the data is obtained as a pointer an manipulated directly
86 * accesing to the members of the structure. Note that this is
87 * just an internal API so instead of using get/set functions we
88 * will just access to the members of the struc directly
91 extern int frescan_bwres_requests_get_data(frescan_bwres_request_id_t req,
92 frescan_bwres_request_data_t **data);
94 #endif // _FRESCAN_BWRES_REQUESTS_H_