where "buffer" is a scalar variable where the inputted bytes will be stored;
"length" is the number of bytes requested to be inputted; "rc" is the
actual number of bytes inputted; "offset" is an optional value to specify
where in the scalar variable to begin to store the inputted bytes.