void Hello_hello(CORBA_Object anobj, const char *arg1, CORBA_Environment *ev) If we're doing a local call (i.e. shared library object activation), just do it. If we're doing a remote call, we need to setup generic header (utilfunc), setup request header (utilfunc), encode arguments (stubs), send the message headers & body (utilfunc) and wait for a reply (XXX define more clearly). When we get the reply, we need to read the reply(utilfunc), decode the return value & out/inout arguments(stubs) & fill them in (or decode the exception that resulted (utilfunc)), and return.