00001 #ifndef __J2K__Message_INL__
00002 #define __J2K__Message_INL__
00003
00004 inline int Message::receive( int channel )
00005 {
00006 int rcvid = MsgReceive( channel, &msg, sizeof( msg ), NULL );
00007 return rcvid;
00008 }
00009
00010 inline int Message::isIO()
00011 {
00012 return ( msg.hdr.type >= _IO_BASE && msg.hdr.type <= _IO_MAX );
00013 }
00014
00015 inline void Message::reply( int rcvid, int number, int state = EOK )
00016 {
00017 msg.number = number;
00018 MsgReply( rcvid, state, &msg, sizeof( msg ) );
00019 }
00020
00021 inline int Message::send( int fd, Message* replyMsg )
00022 {
00023 register int rc = MsgSend( fd, &msg, sizeof(msg), &replyMsg->msg, sizeof(msg) );
00024 return rc;
00025 }
00026
00027
00028 inline fred_msg_data_t Message::getMessage() { return msg; }
00029 inline void* Message::getMessageAddr() { return (void*)&msg; }
00030 inline size_t Message::getMessageSize() { return sizeof( msg_t ); }
00031 inline int Message::getNumber() { return msg.number; }
00032 inline void Message::setNumber( int nb ) { msg.number = nb; }
00033 inline int Message::getRequest() { return msg.request; }
00034 inline void Message::setRequest( int r ) { msg.request = r; }
00035 inline int Message::getStatus() { return msg.status; }
00036 inline void Message::setStatus( int s ) { msg.status = s; }
00037 inline int Message::getIndex() { return msg.index; }
00038 inline void Message::setIndex( int i ) { msg.index = i; }
00039 inline void* Message::getData() { return msg.data; }
00040 inline void Message::setData( void* ptr ) { msg.data = ptr; }
00041
00042
00043 inline msg_header_t Message::getHeader() { return msg.hdr; }
00044 inline int Message::getHeaderCode() { return msg.hdr.code; }
00045 inline int Message::getHeaderScoid() { return msg.hdr.scoid; }
00046
00047 #endif // End of Meesage.inl