palm-os-sdk/sdk-2/include/Core/System/SerialLibMac.h
2016-08-25 07:53:48 -03:00

71 lines
2.5 KiB
C

/*******************************************************************
* Pilot Software
*
* Copyright (c) 1995-1997, Palm Computing Inc., All Rights Reserved
*
*-------------------------------------------------------------------
* FileName:
* SerialLibMac.h
*
* Description:
* Include file for Mac Serial Library
*
* History:
* 6/30/95 Created by Vitaly Kruglikov
*
*******************************************************************/
#ifndef __SERIAL_LIB_MAC_H
#define __SERIAL_LIB_MAC_H
// Pilot common definitions
#include "Common.h"
#include "SerialMgr.h"
// Maximum size of our receive window. We have to emulate this
// functionality on the Mac by reading out of the Mac's serial
// driver into a temporary buffer maintained by the Serial Library
// in the emulator.
#define serFakeIntQueueSize 0x10
/********************************************************************
* Serial Globals
********************************************************************/
typedef struct SerMacGlobalsType {
UInt refNum; // port reference number
UInt openCount; // number of times we have been opened
UInt port;
SerSettingsType settings;
Word lineErrors; // line errors bitfield
DWord maxBaud; // maximum supported baud rate
Boolean breakIsOn; // set to true when break signal is started, false when it is stopped
short inRefNum; // input driver reference number
short outRefNum; // output driver reference number
Ptr inBufP; // custom input buffer ptr
// THe following fields are used to emulate the SerReceiveWindowOpen
// and SerReceiveWindowClose() routines in the Emulator.
Boolean windowOpen; // non-zero if window currently open
// used for error checking.
Word windowOffset; // next available byte in intQueue;
Word windowSize; // # of bytes read into "int queue"
Byte intQueue[serFakeIntQueueSize]; // fake Int. queue"
SerCallbackEntryType
blockingHook; // blocking hook callback
// Receive Queue semaphore info
SerWakeupHandler wakeupHandler; // Wakeup handler, if installed
DWord wakeupRefcon; // refcon for wakeup handler
Word smSignalSize; // How much the semaphore is waiting for
ULong emTaskID; // Task ID of interrupt simulator
} SerMacGlobalsType;
typedef SerMacGlobalsType* SerMacGlobalsPtr;
#define serDefaultRcvBufferSize (30*1024)
Err SerPrvInstallDispatcher(UInt refNum, SysLibTblEntryPtr entryP);
#endif //__SERIAL_LIB_MAC_H