This is LGDSerialPort.h in view mode; [Download] [Up]
// // LGDSerialPort.h // LGDCommunicationKit, Release 1.0 (prerelease) // // Copyright (c) 1993, Looking Glass Design, Inc. // All rights reserved. // // Project Manager: Paul Girone // Original Author: Mike Gobbi // Creation Date: June 9, 1993 // $Revision: 1.3 $ // #import <objc/Object.h> #import <objc/hashtable.h> #import <sgtty.h> #import "LGDBasicPortProtocol.h" // Status flags #define LGD_SP_OK 0x0000 #define LGD_SP_DEVICEINUSE 0x0001 #define LGD_SP_ALREADYLOCKED 0x0002 #define LGD_SP_NOTLOCKED 0x0003 #define LGD_SP_ALREADYOPEN 0x0004 #define LGD_SP_NOTOPEN 0x0005 #define LGD_SP_ERRNO 0x0006 #if 0 // The following definitions are found in LGDBasicPortProtocol // and are repeated here merely for reference // Disciplines // (Referenced definitions found in <sgtty.h>) #define LGD_SP_NEW NTTYDISC #define LGD_SP_OLD OTTYDISC // Modes #define LGD_SP_RAW 0x0000 #define LGD_SP_CBREAK 0x0001 #define LGD_SP_COOKED 0x0002 // Speeds // (Referenced definitions found in <sgtty.h>) #define LGD_SP_B0 B0 #define LGD_SP_B50 B50 #define LGD_SP_B75 B75 #define LGD_SP_B110 B110 #define LGD_SP_B134 B134 #define LGD_SP_B150 B150 #define LGD_SP_B200 B200 #define LGD_SP_B300 B300 #define LGD_SP_B600 B600 #define LGD_SP_B1200 B1200 #define LGD_SP_B1800 B1800 #define LGD_SP_B2400 B2400 #define LGD_SP_B4800 B4800 #define LGD_SP_B9600 B9600 // Parity // (Referenced definitions found in <sgtty.h>) #define LGD_SP_EVENPARITY EVENP #define LGD_SP_ODDPARITY ODDP #define LGD_SP_ZEROPARITY 0x0000 #define LGD_SP_NOPARITY (EVENP|ODDP) // Duplex #define LGD_SP_HALFDUPLEX 0x0000 #define LGD_SP_FULLDUPLEX 0x0001 #endif 0 @interface LGDSerialPort:Object <LGDBasicPortProtocol> { // Instance variables int status; NXAtom device; int descriptor; // State variables int discipline; struct sgttyb sgttyb; struct tchars tchars; unsigned short lmode; struct ltchars ltchars; struct winsize winsize; struct __spFlags1 { unsigned autoSet:1; unsigned autoGet:1; } spFlags1; struct __spFlags2 { unsigned locked:1; unsigned open:1; } spFlags2; } // Factory methods - init; - copyFromZone:(NXZone *)aZone; - free; // Device information + (const char *)getLockFile:(char *)buffer forDevice:(const char *)device; + (int)writeLockFileContents:(int)fileDescriptor forDevice:(const char *)device; + (const char *)getDeviceFile:(char *)buffer forDevice:(const char *)device; // Connecting - (BOOL)isDeviceAvailable:(const char *)device; - setDevice:(const char *)device; - (const char *)device; - lock; - unlock; - open; - openWithTimeout:(long)seconds; - close; - openAndLockDevice:(const char *)device mode:(int)mode timeout:(long)seconds; - unlockAndClose; - (BOOL)isOpen; - (BOOL)isLocked; - (int)_fileDescriptor; // Communication - (int)sendCharacter:(int)aCharacter; - (int)sendString:(const char *)aString; - (int)sendString:(const char *)aString withTrailer:(const char *)trailer; - (int)sendBlock:(const char *)buffer size:(int)size all:(BOOL)yn; - (int)getCharacter:(int *)aCharacter; - (int)getString:(char *)buffer max:(int)bufSize; - (int)getString:(char *)buffer max:(int)bufSize termChars:(const char *)set; - (int)getBlock:(char *)buffer size:(int)bufSize all:(BOOL)yn; // Signals - raiseBreak; - lowerBreak; - sendBreak; - raiseDTR; - lowerDTR; - sendDisconnect; - pause; - continue; // Data buffers - (BOOL)dataAvailable; - flushInput; - flushOutput; - flush; // Error status - clearStatus; - (int)status; - (const char *)statusString; // Modifying states en masse - applySgttyb:(const struct sgttyb *)arg; - applyTchars:(const struct tchars *)arg; - applyLmode:(const unsigned short *)arg; - applyLtchars:(const struct ltchars *)arg; - applyWinsize:(const struct winsize *)arg; - fetchSgttyb:(struct sgttyb *)arg; - fetchTchars:(struct tchars *)arg; - fetchLmode:(unsigned short *)arg; - fetchLtchars:(struct ltchars *)arg; - fetchWinsize:(struct winsize *)arg; - applySettings; - fetchSettings; - applySettings:(const int *)ldisc :(const struct sgttyb *)arg1 :(const struct tchars *)arg2 :(const unsigned short *)lmod :(const struct ltchars *)arg3 :(const struct winsize *)arg4; - fetchSettings:(int *)ldisc :(struct sgttyb *)arg1 :(struct tchars *)arg2 :(unsigned short *)lmod :(struct ltchars *)arg3 :(struct winsize *)arg4; // Automating state changes - setAutoSetEnabled:(BOOL)yn; - setAutoGetEnabled:(BOOL)yn; - (BOOL)autoSetEnabled; - (BOOL)autoGetEnabled; // Modifying states individually - setDiscipline:(int)aDiscipline; - setBaudRate:(int)rateEnumation; - setNumericBaudRate:(int)rate; - setParity:(int)parity; - setCRMassage:(BOOL)yn; - setDuplex:(int)duplex; - setMode:(int)mode; - (int)discipline; - (int)baudRate; - (int)numericBaudRate; - (int)parity; - (BOOL)CRMassage; - (int)mode; // Archiving - write:(NXTypedStream *)stream; - read:(NXTypedStream *)stream; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.