Advertisement
Guest User

Untitled

a guest
Jan 19th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.54 KB | None | 0 0
  1. #ifndef ZADANIE3_QUEUE_H
  2. #define ZADANIE3_QUEUE_H
  3.  
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6. #include "err.h"
  7.  
  8. const char * MAIN_QUEUE  = "/validatorQueue";
  9.  
  10. char* msg = "A message";
  11. struct mq_attr mq_a;
  12.  
  13. void init_queue(const char * name, char * buff, int * buff_size, mqd_t * desc){
  14.     /* create a queue*/
  15.     *desc = mq_open(name, O_RDWR | O_CREAT, 0755, &mq_a);
  16.     if(*desc == (mqd_t) -1)
  17.         syserr("Error in mq_open");
  18.     printf("We have opened %d\n", *desc);
  19.     /* get the maximal size of messages*/
  20.     if (mq_getattr(*desc, &mq_a))
  21.         syserr("Error in getattr");
  22.     *buff_size = mq_a.mq_msgsize + 1;
  23.     printf("Buff size \"in\" is %d\n", *buff_size);
  24.     /* a buffer */
  25.     buff = malloc(sizeof(char) * (*buff_size));
  26. }
  27.  
  28. void init_queue_write(const char * name, mqd_t * desc){
  29.     /* create a queue*/
  30.     struct mq_attr mq_a;
  31.     *desc = mq_open(name, O_RDWR);
  32.     if(*desc == (mqd_t) -1)
  33.         syserr("Error in mq_open");
  34.     printf("We have opened %d\n", *desc);
  35.     /* get the maximal size of messages*/
  36.     if (mq_getattr(*desc, &mq_a))
  37.         syserr("Error in getattr");
  38. }
  39.  
  40. void delete_queue(char * q_name, char * buff, mqd_t * desc){
  41.     /* close the descriptor */
  42.     if (mq_close(*desc)) syserr("Error in close:");
  43.     /* remove the queue */
  44.     if (mq_unlink(q_name)) syserr("Error in unlink:");
  45.     free(buff);
  46. }
  47.  
  48. void delete_queue_write(char * q_name, mqd_t * desc){
  49.     /* close the descriptor */
  50.     if (mq_close(*desc)) syserr("Error in close:");
  51.     /* remove the queue */
  52.     if (mq_unlink(q_name)) syserr("Error in unlink:");
  53. }
  54.  
  55. #endif //ZADANIE3_QUEUE_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement