Qpid Proton C API  0.18.1
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 
129 #ifdef __cplusplus
130 extern "C" {
131 #endif
132 
138 typedef int32_t pn_sequence_t;
139 
145 typedef uint32_t pn_millis_t;
146 
152 #define PN_MILLIS_MAX (~0U)
153 
159 typedef uint32_t pn_seconds_t;
160 
166 typedef int64_t pn_timestamp_t;
167 
173 typedef uint32_t pn_char_t;
174 
180 typedef uint32_t pn_decimal32_t;
181 
187 typedef uint64_t pn_decimal64_t;
188 
194 typedef struct {
195  char bytes[16];
197 
203 typedef struct {
204  char bytes[16];
205 } pn_uuid_t;
206 
212 typedef struct pn_bytes_t {
213  size_t size;
214  const char *start;
215 } pn_bytes_t;
216 
222 PN_EXTERN pn_bytes_t pn_bytes(size_t size, const char *start);
223 
224 static const pn_bytes_t pn_bytes_null = { 0, NULL };
225 
231 typedef struct pn_rwbytes_t {
232  size_t size;
233  char *start;
234 } pn_rwbytes_t;
235 
241 PN_EXTERN pn_rwbytes_t pn_rwbytes(size_t size, char *start);
242 
243 static const pn_rwbytes_t pn_rwbytes_null = { 0, NULL };
244 
267 typedef int pn_state_t;
268 
282 
292 typedef struct pn_session_t pn_session_t;
293 
311 typedef struct pn_link_t pn_link_t;
312 
402 
414 
421 
432 
439 
447 typedef struct pn_handler_t pn_handler_t;
452 #ifdef __cplusplus
453 }
454 #endif
455 
456 #endif /* types.h */
struct pn_listener_t pn_listener_t
A listener for incoming connections.
Definition: types.h:420
uint32_t pn_decimal32_t
A 32-bit decimal floating-point number.
Definition: types.h:180
uint32_t pn_millis_t
A span of time in milliseconds.
Definition: types.h:145
pn_rwbytes_t pn_rwbytes(size_t size, char *start)
Create a pn_rwbytes_t.
A 16-byte universally unique identifier.
Definition: types.h:203
struct pn_transport_t pn_transport_t
A network channel supporting an AMQP connection.
Definition: types.h:431
A non-const byte buffer.
Definition: types.h:231
struct pn_rwbytes_t pn_rwbytes_t
A non-const byte buffer.
int32_t pn_sequence_t
A sequence number.
Definition: types.h:138
struct pn_bytes_t pn_bytes_t
A const byte buffer.
struct pn_collector_t pn_collector_t
An event collector.
Definition: types.h:413
struct pn_session_t pn_session_t
An AMQP Session object.
Definition: types.h:292
pn_bytes_t pn_bytes(size_t size, const char *start)
Create a pn_bytes_t.
struct pn_proactor_t pn_proactor_t
A harness for multithreaded IO.
Definition: types.h:438
struct pn_delivery_t pn_delivery_t
An AMQP Delivery object.
Definition: types.h:401
A 128-bit decimal floating-point number.
Definition: types.h:194
uint64_t pn_decimal64_t
A 64-bit decimal floating-point number.
Definition: types.h:187
uint32_t pn_seconds_t
A span of time in seconds.
Definition: types.h:159
uint32_t pn_char_t
A 32-bit Unicode code point.
Definition: types.h:173
struct pn_connection_t pn_connection_t
An AMQP Connection object.
Definition: types.h:281
int pn_state_t
Holds the state flags for an AMQP endpoint.
Definition: types.h:267
A const byte buffer.
Definition: types.h:212
int64_t pn_timestamp_t
A 64-bit timestamp in milliseconds since the Unix epoch.
Definition: types.h:166