--> 4 byte int --> 4 byte pointer --> 4 byte int --> 4 byte int <0> --> 4 bytes of 0 --> 4 bytes of anything (wil be ignored) --------------------------------------------------------------------------- You send I return shmi shmc keri kerc glbx glby aply free quit --------------------------------------------------------------------------- shmi - setup for shared memory image shmc - setup for shared memory colormap keri - setup for kernal memory image (not yet implemented) kerc - setup for kernal memory colormap (not yet implemented) glbx - define a new width for all images displayed in the future glby - define a new height for all images displayed in the future aply - do the appropiate thing (display image or use colormap) free - free all resources associated with this XCAM descriptor quit - make XCAM quit, freeing resources for all descriptors --------------------------------------------------------------------------- Error codes 0 everything is ok -1 fatal error, XCAM has died -2 invalid shared memory id -4 invalid kernal memory pointer -8 invalid width or height -16 invalid XCAM descriptor -32 no more XCAM descriptors available -64 invalid command --------------------------------------------------------------------------- NOTES: Only one error condition is valid at a given time. The choice of numbers for the various conditions was arbitrary except for "fatal error" which is defined by the PipeComm package. The glbx and glby commands affect how shmi and keri behave. They do not change the size of images that have already been setup. They will define the size of all images that are setup in the future. You may request more than one XCAM descriptor for a particular shared memory/kernal memory image or colormap. XCAM does not delete shared memory id's. It will detach from shared memory segments when it dies and when a descriptor is free'd. You must delete shmid's yourself since you created them.