CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/EventFilter/Utilities/interface/queue_defs.h

Go to the documentation of this file.
00001 #ifndef EVENTFILTER_UTILITIES_QUEUE_DEFS_H
00002 #define EVENTFILTER_UTILITIES_QUEUE_DEFS_H
00003 
00004 /*
00005  * queue_defs.h - common macros and definitions for the public message
00006  *                queue
00007  */
00008 
00009 #define QUEUE_ID 137      /* base ID of queue to generate.M->S = odd, S->M = even */
00010 #define MAX_MSG_SIZE 0x8000  /* size (in bytes) of largest message we'll ever send. 
00011                                 This is the system max  */
00012 
00013 #define MSGQ_MESSAGE_TYPE_RANGE 0xfff
00014 
00015 #define MSQM_MESSAGE_TYPE_NOP  0x000
00016 #define MSQM_MESSAGE_TYPE_STOP 0x002
00017 #define MSQM_MESSAGE_TYPE_FSTOP 0x003
00018 #define MSQM_MESSAGE_TYPE_MCS  0x004
00019 #define MSQM_MESSAGE_TYPE_PRG  0x008
00020 #define MSQM_MESSAGE_TYPE_WEB  0x00a
00021 #define MSQM_MESSAGE_TYPE_TRP  0x00c
00022 #define MSQM_VULTURE_TYPE_STA  0x00e
00023 #define MSQM_VULTURE_TYPE_STP  0x010
00024 #define MSQM_MESSAGE_TYPE_RLI  0x012
00025 #define MSQM_MESSAGE_TYPE_RLR  0x014
00026 #define MSQM_MESSAGE_TYPE_CRASH 0x016
00027 
00028 #define MSQS_MESSAGE_TYPE_NOP  0x000
00029 #define MSQS_MESSAGE_TYPE_SLA  0x200
00030 #define MSQS_MESSAGE_TYPE_MCR  0x202
00031 #define MSQS_MESSAGE_TYPE_STOP 0x204
00032 #define MSQS_MESSAGE_TYPE_PRR  0x208
00033 #define MSQS_MESSAGE_TYPE_WEB  0x20a
00034 #define MSQS_MESSAGE_TYPE_TRR  0x20c
00035 #define MSQS_VULTURE_TYPE_ACK  0x20e
00036 #define MSQS_VULTURE_TYPE_DON  0x210
00037 
00038 #define NUMERIC_MESSAGE_SIZE 32
00039 
00040 #define PIPE_READ 0
00041 #define PIPE_WRITE 1
00042 #define MAX_PIPE_BUFFER_SIZE 0x1000
00043 
00044 #include <sys/msg.h> 
00045 #ifdef __APPLE__
00046 // Unsupported on macosx. We define a dummy msgbuf struct just to make sure it
00047 // compiles fine.
00048 struct msgbuf
00049   {
00050     unsigned long int mtype;    /* type of received/sent message */
00051     char mtext[1];           /* message payload */
00052   };
00053 #endif
00054 
00055 namespace evf{
00056   struct prg{
00057     prg():ls(0),eols(0),ps(0),nbp(0),nba(0),Ms(0),ms(0),dqm(0),trp(0){}
00058     unsigned int ls;
00059     unsigned int eols;
00060     unsigned int ps;
00061     unsigned int nbp;
00062     unsigned int nba;
00063     unsigned int Ms;
00064     unsigned int ms;
00065     unsigned int dqm;
00066     unsigned int trp;
00067   };
00068   
00069 
00070 }
00071 
00072 #endif /* QUEUE_DEFS_H */