ftp.nice.ch/pub/next/developer/resources/classes/misckit/MiscKit.1.10.0.NIHS.b.gnutar.gz#/LocalDeveloper/Headers/misckit/MiscSerialPort.h

This is MiscSerialPort.h in view mode; [Download] [Up]

//
//	MiscSerialPort.h -- an OO wrapper around the serial ports
//		Written by Matt Brandt Copyright (c) 1994 by Matt Brandt.
//				Version 2.0.  All rights reserved.
//		This notice may not be removed from this source code.
//
//	This object is included in the MiscKit by permission from the author
//	and its use is governed by the MiscKit license, found in the file
//	"LICENSE.rtf" in the MiscKit distribution.  Please refer to that file
//	for a list of all applicable permissions and restrictions.
//	

// Note:  The following possible problem is reported by Carl Lindberg
// (lindberg@BLaCKSMITH.com)
/*
He [Mike Hovan] also had a very funky problem with MiscSerialPort.
Whenever DPSRemoveFd() was called, the program would hang -- until
some (any) other event happened, at which point the program would
continue merrily on its way.   He showed me -- the program would hang,
he would hit the shift key, and the program would continue.  His
solution was to stick a dummy event into the queue right before any
call to DPSRemoveFd().  And this worked.  !?!?!  This could be
something particular to his setup; I can't believe no one else noticed
this before if it was a common problem.
*/

#import <appkit/appkit.h>
#import	<sgtty.h>

#define MISC_NO_PARITY		0
#define MISC_ODD_PARITY		1
#define MISC_EVEN_PARITY	2

#ifndef B19200			// added for 3.0 systems by Don
#define B19200 EXTA
#endif

#ifndef B38400			// added for 3.0 systems by Don
#define B38400 EXTB
#endif

@interface MiscSerialPort:Object
{
	char			portName[64];		// path to port device
	BOOL			connected;			// YES if port open
	BOOL			suspended;			// YES if port is suspended
	int				fd;					// file descriptor when open
	id				delegate;			// who do we send data to?
	int				currentBaud;		// current baud rate
	int				currentParity;		// current parity
}

- init;									// initialize defaults
- setDeviceName: (const char *)name;	// set device name to open
- setBaud: (int)baud;					// set port baudrate
- setBaudByName: (const char *)speed;	// set by speed string
- setParity: (int)parity;				// set parity
- dropDTR;
- raiseDTR;
- (BOOL)connect;						// connect with current parameters
- disconnect;							// disconnect from current port
- setDelegate: theConsumer;				// who gets received data
- delegate;								// return current consumer
- transmitChars: (const char *)buffer	// transmit a stream of data
	length: (int)length;
- suspend;
// - continue;							// ** obsolete **
- resume;
- (BOOL)suspended;
- (int)filedes;
- free;

@end

@interface Object(MiscSerialPortDelegate)

- receiveChars: (char *)buffer length: (int)length;
- hangup;

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.