tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
decoder.h
Go to the documentation of this file.
1 /* =============================================================================
2  *
3  * decoder.h
4  *
5  * =============================================================================
6  *
7  * Copyright (C) Stanford University, 2006. All Rights Reserved.
8  * Author: Chi Cao Minh
9  *
10  * =============================================================================
11  *
12  * For the license of bayes/sort.h and bayes/sort.c, please see the header
13  * of the files.
14  *
15  * ------------------------------------------------------------------------
16  *
17  * For the license of kmeans, please see kmeans/LICENSE.kmeans
18  *
19  * ------------------------------------------------------------------------
20  *
21  * For the license of ssca2, please see ssca2/COPYRIGHT
22  *
23  * ------------------------------------------------------------------------
24  *
25  * For the license of lib/mt19937ar.c and lib/mt19937ar.h, please see the
26  * header of the files.
27  *
28  * ------------------------------------------------------------------------
29  *
30  * For the license of lib/rbtree.h and lib/rbtree.c, please see
31  * lib/LEGALNOTICE.rbtree and lib/LICENSE.rbtree
32  *
33  * ------------------------------------------------------------------------
34  *
35  * Unless otherwise noted, the following license applies to STAMP files:
36  *
37  * Copyright (c) 2007, Stanford University
38  * All rights reserved.
39  *
40  * Redistribution and use in source and binary forms, with or without
41  * modification, are permitted provided that the following conditions are
42  * met:
43  *
44  * * Redistributions of source code must retain the above copyright
45  * notice, this list of conditions and the following disclaimer.
46  *
47  * * Redistributions in binary form must reproduce the above copyright
48  * notice, this list of conditions and the following disclaimer in
49  * the documentation and/or other materials provided with the
50  * distribution.
51  *
52  * * Neither the name of Stanford University nor the names of its
53  * contributors may be used to endorse or promote products derived
54  * from this software without specific prior written permission.
55  *
56  * THIS SOFTWARE IS PROVIDED BY STANFORD UNIVERSITY ``AS IS'' AND ANY
57  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
58  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
59  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL STANFORD UNIVERSITY BE LIABLE
60  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
61  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
62  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
63  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
64  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
65  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
66  * THE POSSIBILITY OF SUCH DAMAGE.
67  *
68  * =============================================================================
69  */
70 
71 #ifndef DECODER_H
72 #define DECODER_H 1
73 
74 
75 #include "error.h"
76 #include "tm.h"
77 
78 typedef struct decoder decoder_t;
79 
80 
81 /* =============================================================================
82  * decoder_alloc
83  * =============================================================================
84  */
85 decoder_t*
86 decoder_alloc ();
87 
88 
89 /* =============================================================================
90  * decoder_free
91  * =============================================================================
92  */
93 void
94 decoder_free (decoder_t* decoderPtr);
95 
96 
97 /* =============================================================================
98  * decoder_process
99  * =============================================================================
100  */
102 decoder_process (decoder_t* decoderPtr, char* bytes, long numByte);
103 
104 
105 /* =============================================================================
106  * TMdecoder_process
107  * =============================================================================
108  */
110 TMdecoder_process (TM_ARGDECL decoder_t* decoderPtr, char* bytes, long numByte);
111 
112 
113 /* =============================================================================
114  * decoder_getComplete
115  * -- If none, returns NULL
116  * =============================================================================
117  */
118 char*
119 decoder_getComplete (decoder_t* decoderPtr, long* decodedFlowIdPtr);
120 
121 
122 /* =============================================================================
123  * TMdecoder_getComplete
124  * -- If none, returns NULL
125  * =============================================================================
126  */
127 char*
128 TMdecoder_getComplete (TM_ARGDECL decoder_t* decoderPtr, long* decodedFlowIdPtr);
129 
130 
131 #define TMDECODER_PROCESS(d, b, n) TMdecoder_process(TM_ARG d, b, n)
132 #define TMDECODER_GETCOMPLETE(d, f) TMdecoder_getComplete(TM_ARG d, f)
133 
134 
135 #endif /* DECODER_H */
136 
137 
138 /* =============================================================================
139  *
140  * End of decoder.h
141  *
142  * =============================================================================
143  */
void decoder_free(decoder_t *decoderPtr)
Definition: decoder.c:125
decoder_t * decoder_alloc()
Definition: decoder.c:104
int_error_t decoder_process(decoder_t *decoderPtr, char *bytes, long numByte)
Definition: decoder.c:138
#define TM_ARGDECL
Definition: tm.h:532
Definition: decoder.c:84
enum int_error int_error_t
char * decoder_getComplete(decoder_t *decoderPtr, long *decodedFlowIdPtr)
Definition: decoder.c:467
int_error_t TMdecoder_process(TM_ARGDECL decoder_t *decoderPtr, char *bytes, long numByte)
Definition: decoder.c:302
char * TMdecoder_getComplete(TM_ARGDECL decoder_t *decoderPtr, long *decodedFlowIdPtr)
Definition: decoder.c:491