bitting-douglas@cs.yale.edu (Douglas Bitting) (04/06/91)
Hi. I have a question... right now I am trying to write a simple little thing with MacTCP. Basically what I have done is translate the Pascal Code that comes with the MacTCP toolkit for Hypercard to stand alone C code... however, there is one part that isn't wuite working right (so far!) and I can't figure out why. Here is the code snippit in question: int CWorld::create_stream() { int i; connection = (tcp_connection_ptr) NewPtr (sizeof(tcp_connection_type)); if (connection == NULL) return this->flagError("\pBuffer allocation failed"); connection->magic = MAGIC_NUMBER; connection->incoming_size = 0; if ((i = OpenDriver("\p.IPP", &(sync_control_block.io_c_refnum))) != noErr) { DisposPtr ((Ptr) connection); return this->flagError("\pDriver open failed"); } this->zero_io_parms(); this->put_control_long_at_offset ((long) &connection->buffer, (long) 32); this->put_control_long_at_offset ((long) TCP_BUFFER_SIZE,(long) 36); sync_control_block.cs_code = TCP_CS_CREATE; >>>if ((i = PBControl (&sync_control_block, false)) != noErr) { DisposPtr ((Ptr) connection); return this->flagError("\pStream creation failed"); } connection->async_control_block = sync_control_block; } Where the >>> is is where the code fails. As far as I can tell, everything works correcty up to there. The Call to PBControl returns with an io_result of -21 which is a bad io_c_refnum. The io_c_refnum returned by OpenDriver is always -49 (when I run it), and that is a little questionable only because it is negative. In case the above code doesn't make it clear, I am running THINK C (version 4.0.2) and using the TCL. Any MacTCP gurus out there? Any help would be greatly appreciated. Please respond by email to save net.bandwidth. Thanks, --Doug -- Doug Bitting | "And we know that in all things God works PO Box 3043 Yale Station | for the good of those who love him..." New Haven, CT 06520 | --Romans 8:28 bitting@cs.yale.edu +------------------------------------------