S2OPC OPCUA Toolkit
sopc_async_queue.h
Go to the documentation of this file.
1 /*
2  * Licensed to Systerel under one or more contributor license
3  * agreements. See the NOTICE file distributed with this work
4  * for additional information regarding copyright ownership.
5  * Systerel licenses this file to you under the Apache
6  * License, Version 2.0 (the "License"); you may not use this
7  * file except in compliance with the License. You may obtain
8  * a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing,
13  * software distributed under the License is distributed on an
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15  * KIND, either express or implied. See the License for the
16  * specific language governing permissions and limitations
17  * under the License.
18  */
19 
26 #ifndef SOPC_ASYNC_QUEUE_H_
27 #define SOPC_ASYNC_QUEUE_H_
28 
29 #include "sopc_enums.h"
30 
31 typedef struct SOPC_AsyncQueue SOPC_AsyncQueue;
32 
42 SOPC_ReturnStatus SOPC_AsyncQueue_Init(SOPC_AsyncQueue** queue, const char* queueName);
43 
56 
69 
81 
94 
97 
98 #endif /* SOPC_ASYNC_QUEUE_H_ */
SOPC_AsyncQueue_BlockingDequeue
SOPC_ReturnStatus SOPC_AsyncQueue_BlockingDequeue(SOPC_AsyncQueue *queue, void **element)
Get and remove the head element of the queue. If the queue is empty the function will block until an ...
SOPC_AsyncQueue_Init
SOPC_ReturnStatus SOPC_AsyncQueue_Init(SOPC_AsyncQueue **queue, const char *queueName)
Initialize the queue, the queue must be freed at the end of it's use with SOPC_AsyncQueue_Free.
SOPC_AsyncQueue_NonBlockingDequeue
SOPC_ReturnStatus SOPC_AsyncQueue_NonBlockingDequeue(SOPC_AsyncQueue *queue, void **element)
Get and remove the head element of the queue. If the queue is empty the function will block until an ...
SOPC_AsyncQueue_Free
void SOPC_AsyncQueue_Free(SOPC_AsyncQueue **queue)
: clear the queue by freeing every present element and free the asynchronous queue
sopc_enums.h
SOPC_AsyncQueue_BlockingEnqueueFirstOut
SOPC_ReturnStatus SOPC_AsyncQueue_BlockingEnqueueFirstOut(SOPC_AsyncQueue *queue, void *element)
Add a new element (and allocate new queue element) to the tail of the given linked queue....
SOPC_AsyncQueue
struct SOPC_AsyncQueue SOPC_AsyncQueue
Definition: sopc_async_queue.h:31
SOPC_AsyncQueue_BlockingEnqueue
SOPC_ReturnStatus SOPC_AsyncQueue_BlockingEnqueue(SOPC_AsyncQueue *queue, void *element)
Add a new element (and allocate new queue element) to the head of the given linked queue....
SOPC_ReturnStatus
SOPC_ReturnStatus
Definition: libs2opc_client.h:64