Qpid Proton C API  0.32.0
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 
133 #ifdef __cplusplus
134 extern "C" {
135 #endif
136 
142 typedef uint32_t pn_sequence_t;
143 
149 typedef uint32_t pn_millis_t;
150 
156 #define PN_MILLIS_MAX (~0U)
157 
163 typedef uint32_t pn_seconds_t;
164 
170 typedef int64_t pn_timestamp_t;
171 
177 typedef uint32_t pn_char_t;
178 
184 typedef uint32_t pn_decimal32_t;
185 
191 typedef uint64_t pn_decimal64_t;
192 
198 typedef struct {
199  char bytes[16];
201 
207 typedef struct {
208  char bytes[16];
209 } pn_uuid_t;
210 
216 typedef struct pn_bytes_t {
217  size_t size;
218  const char *start;
219 } pn_bytes_t;
220 
226 PN_EXTERN pn_bytes_t pn_bytes(size_t size, const char *start);
227 
228 PN_EXTERN extern const pn_bytes_t pn_bytes_null;
229 
235 typedef struct pn_rwbytes_t {
236  size_t size;
237  char *start;
238 } pn_rwbytes_t;
239 
245 PN_EXTERN pn_rwbytes_t pn_rwbytes(size_t size, char *start);
246 
247 PN_EXTERN extern const pn_rwbytes_t pn_rwbytes_null;
248 
271 typedef int pn_state_t;
272 
285 typedef struct pn_connection_t pn_connection_t;
286 
296 typedef struct pn_session_t pn_session_t;
297 
315 typedef struct pn_link_t pn_link_t;
316 
405 typedef struct pn_delivery_t pn_delivery_t;
406 
417 typedef struct pn_collector_t pn_collector_t;
418 
424 typedef struct pn_listener_t pn_listener_t;
425 
435 typedef struct pn_transport_t pn_transport_t;
436 
442 typedef struct pn_proactor_t pn_proactor_t;
443 
450 
462 typedef struct pn_event_batch_t pn_event_batch_t;
463 
471 typedef struct pn_handler_t pn_handler_t;
476 #ifdef __cplusplus
477 }
478 #endif
479 
480 #endif /* types.h */
pn_listener_t
struct pn_listener_t pn_listener_t
A listener for incoming connections.
Definition: types.h:424
pn_event_batch_t
struct pn_event_batch_t pn_event_batch_t
A batch of events that must be handled in sequence.
Definition: types.h:462
pn_collector_t
struct pn_collector_t pn_collector_t
An event collector.
Definition: types.h:417
pn_state_t
int pn_state_t
Holds the state flags for an AMQP endpoint.
Definition: types.h:271
pn_transport_t
struct pn_transport_t pn_transport_t
A network channel supporting an AMQP connection.
Definition: types.h:435
pn_seconds_t
uint32_t pn_seconds_t
A span of time in seconds.
Definition: types.h:163
pn_decimal32_t
uint32_t pn_decimal32_t
A 32-bit decimal floating-point number.
Definition: types.h:184
pn_rwbytes_t
A non-const byte buffer.
Definition: types.h:235
pn_proactor_t
struct pn_proactor_t pn_proactor_t
A harness for multithreaded IO.
Definition: types.h:442
pn_bytes_t
A const byte buffer.
Definition: types.h:216
pn_char_t
uint32_t pn_char_t
A 32-bit Unicode code point.
Definition: types.h:177
pn_delivery_t
struct pn_delivery_t pn_delivery_t
An AMQP Delivery object.
Definition: types.h:405
pn_sequence_t
uint32_t pn_sequence_t
A sequence number.
Definition: types.h:142
pn_millis_t
uint32_t pn_millis_t
A span of time in milliseconds.
Definition: types.h:149
pn_rwbytes
pn_rwbytes_t pn_rwbytes(size_t size, char *start)
Create a pn_rwbytes_t.
pn_timestamp_t
int64_t pn_timestamp_t
A 64-bit timestamp in milliseconds since the Unix epoch.
Definition: types.h:170
pn_connection_t
struct pn_connection_t pn_connection_t
An AMQP Connection object.
Definition: types.h:285
pn_bytes
pn_bytes_t pn_bytes(size_t size, const char *start)
Create a pn_bytes_t.
pn_uuid_t
A 16-byte universally unique identifier.
Definition: types.h:207
pn_session_t
struct pn_session_t pn_session_t
An AMQP Session object.
Definition: types.h:296
pn_raw_connection_t
struct pn_raw_connection_t pn_raw_connection_t
A raw network connection used with the proactor.
Definition: types.h:449
pn_decimal64_t
uint64_t pn_decimal64_t
A 64-bit decimal floating-point number.
Definition: types.h:191
pn_decimal128_t
A 128-bit decimal floating-point number.
Definition: types.h:198