Qpid Proton C API  0.16.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
types.h
Go to the documentation of this file.
1 #ifndef PROTON_TYPES_H
2 #define PROTON_TYPES_H 1
3 
4 /*
5  *
6  * Licensed to the Apache Software Foundation (ASF) under one
7  * or more contributor license agreements. See the NOTICE file
8  * distributed with this work for additional information
9  * regarding copyright ownership. The ASF licenses this file
10  * to you under the Apache License, Version 2.0 (the
11  * "License"); you may not use this file except in compliance
12  * with the License. You may obtain a copy of the License at
13  *
14  * http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing,
17  * software distributed under the License is distributed on an
18  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19  * KIND, either express or implied. See the License for the
20  * specific language governing permissions and limitations
21  * under the License.
22  *
23  */
24 
25 #include <proton/import_export.h>
26 #include <stddef.h>
27 #include <proton/type_compat.h>
28 
123 #ifdef __cplusplus
124 extern "C" {
125 #endif
126 
132 typedef int32_t pn_sequence_t;
133 
139 typedef uint32_t pn_millis_t;
140 
146 #define PN_MILLIS_MAX (~0U)
147 
153 typedef uint32_t pn_seconds_t;
154 
160 typedef int64_t pn_timestamp_t;
161 
167 typedef uint32_t pn_char_t;
168 
174 typedef uint32_t pn_decimal32_t;
175 
181 typedef uint64_t pn_decimal64_t;
182 
188 typedef struct {
189  char bytes[16];
191 
197 typedef struct {
198  char bytes[16];
199 } pn_uuid_t;
200 
206 typedef struct pn_bytes_t {
207  size_t size;
208  const char *start;
209 } pn_bytes_t;
210 
216 PN_EXTERN pn_bytes_t pn_bytes(size_t size, const char *start);
217 
218 static const pn_bytes_t pn_bytes_null = { 0, NULL };
219 
225 typedef struct pn_rwbytes_t {
226  size_t size;
227  char *start;
228 } pn_rwbytes_t;
229 
235 PN_EXTERN pn_rwbytes_t pn_rwbytes(size_t size, char *start);
236 
237 static const pn_bytes_t pn_rwbytes_null = { 0, NULL };
238 
261 typedef int pn_state_t;
262 
276 
286 typedef struct pn_session_t pn_session_t;
287 
305 typedef struct pn_link_t pn_link_t;
306 
396 
408 
420 
428 typedef struct pn_handler_t pn_handler_t;
433 #ifdef __cplusplus
434 }
435 #endif
436 
437 #endif /* types.h */
uint32_t pn_decimal32_t
A 32-bit decimal floating-point number.
Definition: types.h:174
uint32_t pn_millis_t
A span of time in milliseconds.
Definition: types.h:139
pn_rwbytes_t pn_rwbytes(size_t size, char *start)
Create a pn_rwbytes_t.
A 16-byte universally unique identifier.
Definition: types.h:197
struct pn_transport_t pn_transport_t
An AMQP Transport object.
Definition: types.h:419
A non-const byte buffer.
Definition: types.h:225
struct pn_rwbytes_t pn_rwbytes_t
A non-const byte buffer.
int32_t pn_sequence_t
A sequence number.
Definition: types.h:132
struct pn_bytes_t pn_bytes_t
A const byte buffer.
struct pn_collector_t pn_collector_t
An event collector.
Definition: types.h:407
struct pn_session_t pn_session_t
An AMQP Session object.
Definition: types.h:286
pn_bytes_t pn_bytes(size_t size, const char *start)
Create a pn_bytes_t.
struct pn_delivery_t pn_delivery_t
An AMQP Delivery object.
Definition: types.h:395
A 128-bit decimal floating-point number.
Definition: types.h:188
uint64_t pn_decimal64_t
A 64-bit decimal floating-point number.
Definition: types.h:181
uint32_t pn_seconds_t
A span of time in seconds.
Definition: types.h:153
uint32_t pn_char_t
A 32-bit Unicode code point.
Definition: types.h:167
struct pn_connection_t pn_connection_t
An AMQP Connection object.
Definition: types.h:275
int pn_state_t
Holds the state flags for an AMQP endpoint.
Definition: types.h:261
A const byte buffer.
Definition: types.h:206
int64_t pn_timestamp_t
A 64-bit timestamp in milliseconds since the Unix epoch.
Definition: types.h:160