18#define HANDLE unsigned int
77class DataManagerProcess;
199 static void *large_new(
long size);
200 static void large_delete(
void *);
216#if defined SHARED_MEMORY
243#if defined(__hpux) || defined(_SX)
244 void *get_pointer(
int no);
250 return &(shm_array[no - 1]->
data[2 *
sizeof(int)]);
258 return &(
data[2 *
sizeof(int)]);
270 return (shmstate == attached);
281 void get_shmlist(
int *);
285 return global_seq_no;
338class coDistributedObject;
403 if (!(shm_seq_no == 0 &&
offset == 0))
408 shm_seq_no = *(
int *)msg->
data.
data();
420 return (
void *)((
char *)ptr +
sizeof(
int));
425template <
typename DataType,
int typenum>
437 cerr <<
"wrong type from shared memory in coDataShm constructor: was" <<
type <<
", expected " << typenum << std::endl;
443 return *((DataType *)(((
char *)
ptr) +
sizeof(int)));
445 operator DataType()
const
447 return *((DataType *)(((
char *)
ptr) +
sizeof(int)));
451 return (*((DataType *)(((
char *)
ptr) +
sizeof(
int))) =
val);
455 return *((DataType *)(((
char *)
ptr) +
sizeof(int))) =
c;
462 cerr <<
"wrong type associated in coDataShm->setPtr: was" <<
type <<
", expected " << typenum << std::endl;
498 length = *(
int *)((
char *)ptr +
sizeof(int));
503 type = *(
int *)ptr & 0x7F;
519 if (!(shm_seq_no == 0 &&
offset == 0))
525 shm_seq_no = *(
int *)msg->
data.
data();
556template <
typename DataType,
int typenum>
569 cerr <<
"wrong type in coDataShmArray constructor from shared memory: expected " << typenum <<
", was " <<
type << std::endl;
578 cerr <<
"wrong type in coDataShmArray->setPtr constructor from shared memory: expected " << typenum <<
", was " <<
type << std::endl;
583 cerr <<
"error in array length (< 0)\n";
591 cerr <<
"Access error for coDataShmArray\n"
592 << i <<
" not in 0.." <<
length - 1 << std::endl;
593 assert(i >= 0 && i <
length);
600 return ((DataType *)(((
char *)
ptr) + 2 *
sizeof(
int)))[i];
602 cerr <<
"Access error for coDataShmArray\n"
603 << i <<
" not in 0.." <<
length - 1 << std::endl;
604 assert(i >= 0 && i <
length);
612template <
typename DataType,
int typenum>
627 char *chptr = (
char *)getDataPtr();
632 while (
c[i] !=
'\0' && i <
length)
664 char *operator[](
unsigned int i);
665 const char *operator[](
unsigned int i)
const;
668 char *cptr = (
char *)ptr;
669 int pos = 2*
sizeof(int) + no*(
sizeof(
int)+
sizeof(
shmSizeType));
670 *((
int *)(cptr+pos)) = sn;
671 *((
int *)(cptr+pos+
sizeof(
int))) = of;
675 char *cptr = (
char *)ptr;
676 int pos = 2*
sizeof(int) + no*(
sizeof(
int)+
sizeof(
shmSizeType));
677 *sn = *((
int *)(cptr+pos));
678 *of = *((
int *)(cptr+pos+
sizeof(
int)));
#define INST_TEMPLATE2(x, y)
Definition: coExport.h:37
#define SHMEXPORT
Definition: coExport.h:289
#define NULL
Definition: covise_list.h:22
const GLubyte * c
Definition: khronos-glext.h:9864
GLuint address
Definition: khronos-glext.h:10368
GLsizeiptr size
Definition: khronos-glext.h:6610
GLuint GLfloat * val
Definition: khronos-glext.h:7898
typedef void(APIENTRY *GLDEBUGPROCARB)(GLenum source
GLintptr offset
Definition: khronos-glext.h:6611
GLenum GLuint GLenum GLsizei length
Definition: khronos-glext.h:6279
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: khronos-glext.h:6354
GLenum type
Definition: khronos-glext.h:6279
list of all chemical elements
Definition: coConfig.h:27
const int LONGSHM
Definition: covise_shm.h:129
const int COLOR_MSG
Definition: covise_shm.h:164
const int OVERALL
Definition: covise_shm.h:145
const int EMPTYSHORTSHMARRAY
Definition: covise_shm.h:117
const int OBJ_OVERWRITE
Definition: covise_shm.h:173
const int START_ODD
Definition: covise_shm.h:171
const int STRINGSHMARRAY
Definition: covise_shm.h:136
const int PASSWD
Definition: covise_shm.h:156
const int SIZEOF_ALIGNMENT
Definition: covise_shm.h:79
const int DOUBLESHM
Definition: covise_shm.h:131
const int EMPTYCHARSHMARRAY
Definition: covise_shm.h:116
const int INTSHMARRAY
Definition: covise_shm.h:109
const int SHORTSHMARRAY
Definition: covise_shm.h:108
const int FLOATSHMARRAY
Definition: covise_shm.h:114
const int COVISE_OPTIONAL
Definition: covise_shm.h:140
const int OBJ_NO_OVERWRITE
Definition: covise_shm.h:174
const int INTSHM
Definition: covise_shm.h:125
const int SHMPTR
Definition: covise_shm.h:133
const int EMPTYFLOATSHMARRAY
Definition: covise_shm.h:120
const int F_SLIDER
Definition: covise_shm.h:142
const int LONGSHMARRAY
Definition: covise_shm.h:113
const int TEXT
Definition: covise_shm.h:154
const int EMPTYINTSHMARRAY
Definition: covise_shm.h:118
const int DISTROBJ
Definition: covise_shm.h:135
const int FLOAT_SCALAR
Definition: covise_shm.h:151
const int INT_SCALAR
Definition: covise_shm.h:162
const int SHORTSHM
Definition: covise_shm.h:124
const int COVISE_BOOLEAN
Definition: covise_shm.h:148
const int NONE
Definition: covise_shm.h:94
const int COLORMAP_MSG
Definition: covise_shm.h:160
SHMEXPORT SharedMemory * get_shared_memory()
Definition: covise_shm.cpp:91
const int COLORMAPCHOICE_MSG
Definition: covise_shm.h:165
const int CHARSHMARRAY
Definition: covise_shm.h:107
const int CHOICE
Definition: covise_shm.h:150
const int ARRAYSET
Definition: covise_shm.h:158
const int PER_VERTEX
Definition: covise_shm.h:144
void() shmCallback(int shmKey, shmSizeType size, char *address)
Definition: covise_shm.h:204
void print_exit(int line, const char *filename, int how)
Definition: coLog.cpp:69
access_type
Definition: covise_shm.h:82
@ ACC_READ_WRITE_DESTROY
Definition: covise_shm.h:88
@ ACC_REMOTE_DATA_MANAGER
Definition: covise_shm.h:89
@ ACC_READ_ONLY
Definition: covise_shm.h:85
@ ACC_DENIED
Definition: covise_shm.h:83
@ ACC_READ_AND_WRITE
Definition: covise_shm.h:87
@ ACC_NONE
Definition: covise_shm.h:84
@ ACC_WRITE_ONLY
Definition: covise_shm.h:86
const int COMPARE_ADDRESS
Definition: covise_shm.h:305
double length(EDGE_VECTOR &vector)
Definition: CuttingSurfaceGPMUtil.h:70
const int EMPTYDOUBLESHMARRAY
Definition: covise_shm.h:121
unsigned int shmSizeType
Definition: covise_shm.h:202
const int CLI
Definition: covise_shm.h:157
const int COVISE_NULLPTR
Definition: covise_shm.h:139
const int MMPANEL
Definition: covise_shm.h:153
const int START_EVEN
Definition: covise_shm.h:170
const int COMMAND
Definition: covise_shm.h:152
const int FLOAT_VECTOR
Definition: covise_shm.h:147
const int TIMER
Definition: covise_shm.h:155
const int COMPARE_SIZE
Definition: covise_shm.h:306
const int SHMPTRARRAY
Definition: covise_shm.h:122
const int INT_SLIDER
Definition: covise_shm.h:161
const int COVISE_OBJECTID
Definition: covise_shm.h:134
const int FLOAT_SLIDER
Definition: covise_shm.h:146
const int EMPTYLONGSHMARRAY
Definition: covise_shm.h:119
void print_comment(int line, const char *filename, const char *fmt,...)
Definition: coLog.cpp:25
const int MAX_NO_SHM
Definition: covise_shm.h:303
const int INT_VECTOR
Definition: covise_shm.h:163
const int MATERIAL_MSG
Definition: covise_shm.h:166
const int DOUBLESHMARRAY
Definition: covise_shm.h:115
unsigned int ArrayLengthType
Definition: covise_shm.h:203
const int UNKNOWN
Definition: covise_shm.h:138
const int USERDEFINED
Definition: covise_shm.h:132
const int CHARSHM
Definition: covise_shm.h:123
const int STRING
Definition: covise_shm.h:137
const int SET_CREATE
Definition: covise_shm.h:176
const int I_SLIDER
Definition: covise_shm.h:141
const int BROWSER
Definition: covise_shm.h:149
const int PER_FACE
Definition: covise_shm.h:143
const int FLOATSHM
Definition: covise_shm.h:130
std::enable_if< I==sizeof...(Tp), void >::type print(Stream &s, const std::tuple< Tp... > &t)
Definition: tokenbuffer_util.h:68
Definition: covise_list.h:78
const char * data() const
Definition: dataHandle.cpp:52
DataHandle data
Definition: message.h:67
Definition: covise_msg.h:88
Definition: covise_shm.h:179
MMapEntry()
Definition: covise_shm.h:181
int fd
Definition: covise_shm.h:188
void print()
Definition: covise_shm.h:190
~MMapEntry()
Definition: covise_shm.h:184
char * ptr
Definition: covise_shm.h:187
long size
Definition: covise_shm.h:189
Definition: covise_shm.h:196
static List< MMapEntry > * mmaplist
Definition: covise_shm.h:198
Definition: covise_shm.h:209
int noDelete
Definition: covise_shm.h:235
void * get_pointer()
Definition: covise_shm.h:256
static List< SharedMemory > * shmlist
Definition: covise_shm.h:213
static int num_attached()
Definition: covise_shm.h:283
int is_attached()
Definition: covise_shm.h:268
void * get_pointer(int no)
Definition: covise_shm.h:246
int shmfd
Definition: covise_shm.h:217
SharedMemory * get_next_shm()
Definition: covise_shm.h:260
static class SharedMemory ** shm_array
Definition: covise_shm.h:212
state shmstate
Definition: covise_shm.h:232
int get_key()
Definition: covise_shm.h:273
SharedMemory()
Definition: covise_shm.h:238
int seq_no
Definition: covise_shm.h:234
int shmid
Definition: covise_shm.h:218
shmSizeType size
Definition: covise_shm.h:223
int get_seq_no()
Definition: covise_shm.h:264
static shmCallback * shmC
Definition: covise_shm.h:242
class SharedMemory * next
Definition: covise_shm.h:215
friend SHMEXPORT SharedMemory * get_shared_memory()
state
Definition: covise_shm.h:226
@ attached
Definition: covise_shm.h:227
@ invalid
Definition: covise_shm.h:229
@ detached
Definition: covise_shm.h:228
char * data
Definition: covise_shm.h:224
shmSizeType get_size()
Definition: covise_shm.h:277
void print()
Definition: covise_shm.h:282
static int global_seq_no
Definition: covise_shm.h:214
int key
Definition: covise_shm.h:233
Definition: covise_shm.h:291
size_t minSegSize
Definition: covise_shm.h:295
static ShmConfig * theShmConfig
Definition: covise_shm.h:296
Definition: covise_shm.h:312
void * get_pointer()
Definition: covise_shm.h:326
static SharedMemory * shm
Definition: covise_shm.h:314
void * get_pointer(int no)
Definition: covise_shm.h:322
int get_key()
Definition: covise_shm.h:330
Definition: covise_shm.h:341
coShmItem()
Definition: covise_shm.h:353
int type
Definition: covise_shm.h:349
friend int covise_decode_list(List< PackElement > *, char *, DataManagerProcess *, char)
int shm_seq_no
Definition: covise_shm.h:347
int get_shm_seq_no()
Definition: covise_shm.h:360
void * ptr
Definition: covise_shm.h:350
shmSizeType get_offset()
Definition: covise_shm.h:364
shmSizeType offset
Definition: covise_shm.h:348
void * getPtr()
Definition: covise_shm.h:372
friend coShmPtr * covise_extract_list(List< PackElement > *pack_list, char)
int get_type()
Definition: covise_shm.h:368
Definition: covise_shm.h:380
coShmPtr()
Definition: covise_shm.h:397
static SharedMemory * shmptr
Definition: covise_shm.h:387
void setPtr(int no, shmSizeType o)
Definition: covise_shm.h:412
coShmPtr(Message *msg)
Definition: covise_shm.h:406
coShmPtr(int no, shmSizeType o)
Definition: covise_shm.h:399
void * getDataPtr() const
Definition: covise_shm.h:418
void recalc()
Definition: covise_shm.h:388
Definition: covise_shm.h:427
coDataShm(int no, shmSizeType o)
Definition: covise_shm.h:432
DataType & operator=(const DataType &c)
Definition: covise_shm.h:453
DataType get() const
Definition: covise_shm.h:441
void setPtr(int no, shmSizeType o)
Definition: covise_shm.h:457
DataType set(DataType val)
Definition: covise_shm.h:449
coDataShm()
Definition: covise_shm.h:429
Definition: covise_shm.h:482
void * getDataPtr() const
Definition: covise_shm.h:543
static SharedMemory * shmptr
Definition: covise_shm.h:489
coShmArray(int no, shmSizeType o)
Definition: covise_shm.h:515
coShmArray(Message *msg)
Definition: covise_shm.h:523
ArrayLengthType length
Definition: covise_shm.h:488
void recalc()
Definition: covise_shm.h:490
ArrayLengthType get_length() const
Definition: covise_shm.h:533
coShmArray()
Definition: covise_shm.h:509
void set_length(ArrayLengthType l)
Definition: covise_shm.h:529
void setPtr(int no, shmSizeType o)
Definition: covise_shm.h:537
Definition: covise_shm.h:558
void setPtr(int no, shmSizeType o)
Definition: covise_shm.h:573
const DataType & operator[](size_t i) const
Definition: covise_shm.h:597
static DataType null_return
Definition: covise_shm.h:609
coDataShmArray(int no, shmSizeType o)
Definition: covise_shm.h:564
coDataShmArray()
Definition: covise_shm.h:560
DataType & operator[](size_t i)
Definition: covise_shm.h:586
Definition: covise_shm.h:616
coCharShmArray()
Definition: covise_shm.h:618
int setString(const char *c)
Definition: covise_shm.h:625
coCharShmArray(int no, shmSizeType o)
Definition: covise_shm.h:621
Definition: covise_shm.h:655
coStringShmArray(int no, shmSizeType o)
Definition: covise_shm.h:660
void stringPtrGet(int no, int *sn, shmSizeType *of)
Definition: covise_shm.h:673
coStringShmArray()
Definition: covise_shm.h:657
void stringPtrSet(int no, int sn, shmSizeType of)
Definition: covise_shm.h:666
Definition: coDistributedObject.h:296
Definition: coShmPtrArray.h:38