# FacePrinter Struct Reference

A FacePrinter is capable of performing low-level printing operations to some assigned (physical or 'virtual') face. More...

`#include <SFBPrint.h>`

## Data Fields
void(* | print )(u8 face, u8 byte)
| Handler to print a single data byte, or 0 if undefined.
void(* | println )(u8 face)
| Handler to print a packet terminator, or 0 if undefined.
void(* | printFaceCode )(u8 face)
| Handler to print a single-byte representation of its face code, or 0 if undefined.
const char *(* | getFaceName )(u8 face)
| Handler to return a zstring name of this FacePrinter, or 0 if undefined.

## Detailed Description

A FacePrinter is capable of performing low-level printing operations to some assigned (physical or 'virtual') face.

It contains up to four function pointers describing how to:

1. Print a single byte to a(n incomplete) packet,
2. Terminate a (previously incomplete) packet,
3. Print its face code to a(n incomplete) packet, and
4. Provide a zero-terminated name describing this FacePrinter.

The latter two methods are optional and may be null pointers. The first two methods are must either both be non-null (the typical case) or both null (e.g., for a '/dev/null' face that discards all output).

## Field Documentation

const char*(* FacePrinter::getFaceName)(u8 face)

Handler to return a zstring name of this FacePrinter, or 0 if undefined.

void(* FacePrinter::printFaceCode)(u8 face)

Handler to print a single-byte representation of its face code, or 0 if undefined.

The documentation for this struct was generated from the following file:

- src/include/SFBPrint.h