Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef ZADANIE3_QUEUE_H
- #define ZADANIE3_QUEUE_H
- #include <stdlib.h>
- #include <stdio.h>
- #include "err.h"
- const char * MAIN_QUEUE = "/validatorQueue";
- char* msg = "A message";
- struct mq_attr mq_a;
- void init_queue(const char * name, char * buff, int * buff_size, mqd_t * desc){
- /* create a queue*/
- *desc = mq_open(name, O_RDWR | O_CREAT, 0755, &mq_a);
- if(*desc == (mqd_t) -1)
- syserr("Error in mq_open");
- printf("We have opened %d\n", *desc);
- /* get the maximal size of messages*/
- if (mq_getattr(*desc, &mq_a))
- syserr("Error in getattr");
- *buff_size = mq_a.mq_msgsize + 1;
- printf("Buff size \"in\" is %d\n", *buff_size);
- /* a buffer */
- buff = malloc(sizeof(char) * (*buff_size));
- }
- void init_queue_write(const char * name, mqd_t * desc){
- /* create a queue*/
- struct mq_attr mq_a;
- *desc = mq_open(name, O_RDWR);
- if(*desc == (mqd_t) -1)
- syserr("Error in mq_open");
- printf("We have opened %d\n", *desc);
- /* get the maximal size of messages*/
- if (mq_getattr(*desc, &mq_a))
- syserr("Error in getattr");
- }
- void delete_queue(char * q_name, char * buff, mqd_t * desc){
- /* close the descriptor */
- if (mq_close(*desc)) syserr("Error in close:");
- /* remove the queue */
- if (mq_unlink(q_name)) syserr("Error in unlink:");
- free(buff);
- }
- void delete_queue_write(char * q_name, mqd_t * desc){
- /* close the descriptor */
- if (mq_close(*desc)) syserr("Error in close:");
- /* remove the queue */
- if (mq_unlink(q_name)) syserr("Error in unlink:");
- }
- #endif //ZADANIE3_QUEUE_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement