In general, any dos.library function which fills in a structure for you (for example, examine()), requires that the structure be longword aligned. In most cases, the only way to insure longword alignment in C is to dynamically allocate the structure. Unless documented otherwise, dos.library functions may only be called from a process, not from a task. Also note that a process's pr_msgport is intended for the exclusive use of dos.library. (The port may be used to receive a wbstartup message as long as the message is getmsg()'d from the port before dos is used.