squid-tlv.cc
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 // Author: Jens-S. V?ckler <voeckler@rvs.uni-hannover.de>
10 //
11 // File: squid-tlv.cc
12 // Tue Jun 15 1999
13 //
14 // (c) 1999 Lehrgebiet Rechnernetze und Verteilte Systeme
15 // Universit?t Hannover, Germany
16 //
17 // Permission to use, copy, modify, distribute, and sell this software
18 // and its documentation for any purpose is hereby granted without fee,
19 // provided that (i) the above copyright notices and this permission
20 // notice appear in all copies of the software and related documentation,
21 // and (ii) the names of the Lehrgebiet Rechnernetze und Verteilte
22 // Systeme and the University of Hannover may not be used in any
23 // advertising or publicity relating to the software without the
24 // specific, prior written permission of Lehrgebiet Rechnernetze und
25 // Verteilte Systeme and the University of Hannover.
26 //
27 // THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
28 // EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
29 // WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
30 //
31 // IN NO EVENT SHALL THE LEHRGEBIET RECHNERNETZE UND VERTEILTE SYSTEME OR
32 // THE UNIVERSITY OF HANNOVER BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
33 // INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES
34 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT
35 // ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY,
36 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
37 // SOFTWARE.
38 //
39 // Revision 1.1 1999/06/15 21:10:16 voeckler
40 // Initial revision
41 //
42 
43 #include "squid.h"
44 #include "squid-tlv.hh"
45 
46 SquidTLV::SquidTLV( SquidMetaType _type, size_t _size, void* _data )
47  :next(0),size(_size)
48 {
49  type = _type;
50  data = (char*) _data;
51 }
52 
53 SquidMetaList::SquidMetaList()
54 {
55  head = tail = 0;
56 }
57 
58 SquidMetaList::~SquidMetaList()
59 {
60  for ( SquidTLV* temp = head; temp; temp = head ) {
61  head = temp->next;
62  delete temp;
63  }
64 }
65 
66 void
67 SquidMetaList::append( SquidMetaType type, size_t size, void* data )
68 {
69  SquidTLV* temp = new SquidTLV( type, size, data );
70  if ( head == 0 ) head = tail = temp;
71  else {
72  tail->next = temp;
73  tail = temp;
74  }
75 }
76 
77 const SquidTLV*
78 SquidMetaList::search( SquidMetaType type ) const
79 {
80  const SquidTLV* temp = head;
81  while ( temp && temp->type != type ) temp = temp->next;
82  return temp;
83 }
84 
struct squidaio_request_t * next
Definition: aiops.cc:51
squidaio_request_t * head
Definition: aiops.cc:127

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors