Up: GEOS SDK TechDocs | Up | Prev: ObjVarScanData() ... | Next: PCCOMABORT() ...

ParallelClose()

StreamError ParallelClose(
        GeodeHandle 		driver,
        ParallelUnit 		unit,
        Boolean 		linger);

Close the stream to a parallel port.

Include: streamC.h

ParallelGetError()

StreamError	 	ParallelGetError (
        Handle 		driver,
        ParallelUnit		unit,
        StreamRoles 		roles,
        ParallelError *		errorCode);

This routine returns any parallel-driver-specific error codes set by the last call to the parallel-driver.

ParallelOpen()

StreamError ParallelOpen(
        GeodeHandle 		driver,
        ParallelUnit 		unit,
        StreamOpenFlags 		flags,
        word		outBuffSize,
        word 		timeout);

This routine opens a stream to the specified parallel port. It is passed the following arguments:

driver
The GeodeToken of the parallel driver.
unit
The parallel port to open.
flags
This specifies whether the call should fail if the port is busy, or wait for a time to see if it will become free.
outBuffSize
The size of the stream buffer used for output to the parallel port.
timeout
The number of clock ticks to wait for the port to become free. (This argument is ignored if flags is not STREAM_OPEN_TIMEOUT.)

If the routine is successful, it returns zero. If it is unsuccessful, it returns a member of the StreamError enumerated type.

Include: streamC.h

ParallelSetError()

StreamError ParallelSetError(
        Handle 		driver,
        ParallelUnit 		unit,
        StreamRoles		roles,
        ParallelError *		errorCode);

This routine sets the device-specific error code for the specified parallel port.

ParallelWrite()

StreamError ParallelWrite(
        GeodeHandle 		driver,
        ParallelUnit 		unit,
        StreamBlocker 		blocker,
        word 		buffSize,
        const byte *		buffer,
        word *		numBytesWritten);

Write data to a parallel port.

Include: streamC.h

ParallelWriteByte()

StreamError ParallelWrite(
        GeodeHandle 		driver,
        ParallelUnit 		unit,
        StreamBlocker 		blocker,
        word 		buffSize,
        byte		dataByte);

Write one byte of data to a parallel port.

Include: streamC.h

ParserParseString()

ParserScannerEvaluatorError ParserParseString(
        char		*textBuffer,
        byte		*tokenBuffer,
        CParserStruct		*parserParams,
        CParserReturnStruct		*retVal);

Parse a string into a sequence of tokens.

Include: parse.h

ParserEvalExpression()

ParserScannerEvaluatorError ParserEvalExpression(
        byte		*scratchBuffer,
        byte		*resultBuffer,
        word		bufSize,
        CEvalStruct		*evalParams);

Evaluate a parsed expression.

Include: parse.h

ParserFormatExpression()

ParserScannerEvaluatorError ParserFormatExpression(
        byte		*tokenBuffer,
        char		*textBuffer,
        CFormatStruct		*formatParams);

Format an expression from parsed data.

Include: parse.h

PCB()

#define PCB(return_type, pointer_name, args) \
        return_type _pascal (*pointer_name) args

This macro is useful for declaring pointers to functions that use the pascal calling conventions. For example, to declare a pointer to a function which is passed two strings and returns an integer, one could write

PCB(int, func_ptr, (const char *, const char *));

which would be expanded to

int _pascal (*func_ptr) (const char *, const char *);

See Also: CCB().


Up: GEOS SDK TechDocs | Up | Prev: ObjVarScanData() ... | Next: PCCOMABORT() ...