Advertisement
Guest User

Untitled

a guest
Feb 14th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. #define SERVER_IN 1219
  2. #define SERVER_OUT 1213
  3.  
  4. int server_in_id;
  5. int server_out_id;
  6.  
  7. int msg_flag = 0;
  8.  
  9. struct cmd_t
  10. {
  11. char cmd;
  12. long pid;
  13. int arg[MAX_ARGS];
  14.  
  15. };
  16.  
  17. struct msg_t
  18. {
  19. long mtype;
  20. struct cmd_t message;
  21. };
  22.  
  23. int initialise_communication()
  24. {
  25. if ((server_in_id = msgget(SERVER_IN, msg_flag)) == -1)
  26. syserr("msgget");
  27. if ((server_out_id = msgget(SERVER_OUT, msg_flag)) == -1)
  28. syserr("msgget");
  29.  
  30. printf("communication_initialised\n\tserv_in : %d\n\tserv_out : %d\n", server_in_id, server_out_id);
  31. return 0;
  32.  
  33. }
  34.  
  35.  
  36.  
  37. int send_to_client(long mtype, int response[MAX_ARGS])
  38. {
  39. int i;
  40. struct cmd_t task;
  41. struct msg_t m_buf;
  42.  
  43. task.pid = mtype;
  44. for (i = 0; i < MAX_ARGS; i++)
  45. {
  46. task.arg[i] = response[i];
  47. }
  48.  
  49. m_buf.mtype = mtype;
  50. m_buf.message = task;
  51.  
  52. if (msgsnd(server_out_id, &m_buf, sizeof(struct cmd_t), 0) == -1)
  53. fatal("error in msgsnd in send_to_client");
  54.  
  55. return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement