Go to the documentation of this file.00001
00013 #include "hstructures.h"
00014
00015 #ifndef HMSG_H
00016 #define HMSG_H
00017
00019 #define HMSG_DATA_SIZE 128
00020
00022 enum hmsg_type {
00023 HMT_ALL
00024 ,HMT_CTRL
00025 ,HMT_CTRLMEM
00026 ,HMT_REGPROC
00027 };
00028
00029
00031 enum hmsg_command {
00032 HMC_ALLOC
00033 ,HMC_EXEC
00034 ,HMC_FREE
00035 ,HMC_LDDEV
00036 ,HMC_READ
00037 ,HMC_RMDEV
00038 ,HMC_RMQUE
00039 ,HMC_UMQUE
00040 ,HMC_WRITE
00041 ,HMC_SET_BITFILE
00042 ,HMC_REGPROC
00043 };
00044
00045
00047 enum hmsg_return {
00048 HMR_OK=0
00049 ,HMR_ERROR=-1
00050 ,HMR_NOPID=-2
00051 };
00052
00053
00059 char* hmsg_get_bitfilename(void* msg);
00060
00067 int hmsg_set_bitfilename(void* msg, char* bitfilename);
00068
00074 int hmsg_get_nice(void* msg);
00075
00082 int hmsg_set_nice(void* msg, int nice);
00083
00093 int hmsg_get_sender(void* msg);
00094
00105 int hmsg_set_sender(void* msg, int id);
00106
00112 int hmsg_get_type(void* msg);
00113
00119 int hmsg_get_size(void* msg);
00120
00127 int hmsg_set_size(void* msg, int size);
00128
00135 int hmsg_set_return(void* msg, enum hmsg_return retval);
00136
00142 enum hmsg_return hmsg_get_return(void* msg);
00143
00149 char* hmsg_get_data(void* msg);
00150
00157 int hmsg_set_data(void* msg, char* data);
00158
00164 int hmsg_set_address(void* msg, int address);
00165
00171 int hmsg_get_address(void* msg);
00172
00178 enum hmsg_command hmsg_get_command(void* msg);
00179
00186 int hmsg_set_command(void* msg, enum hmsg_command command);
00187
00193 void* hmsg_create(int type);
00194
00202 int hmsg_remove(void* msg);
00203
00212 int hmsg_send(void* msg, struct hmqueue* msq);
00213
00219 void* hmsg_receive(struct hmqueue* msq);
00220
00221
00222 #endif
00223