A Channel implements low-level input/output for the AST library. Writing an Object to a Channel (using astWrite) will generate a textual representation of that Object, and reading from a Channel (using astRead) will create a new Object from its textual representation.
Normally, when you use a Channel, you should provide "source" and "sink" functions which connect it to an external data store by reading and writing the resulting text. By default, however, a Channel will read from standard input and write to standard output.
If "source" is NULL, the Channel will read from standard input instead.
If "sink" is NULL, the Channel will write to standard output instead.
AST A Library for Handling World Coordinate Systems in Astronomy