Программа интерфейса вызывается следующим образом:
/usr/sbin/lp/admins/lp/interface/P id user title copies \ options file1 file2 ...
где P - имя принтера; id - идентификатор запроса, взвращаемый LP; user - регистрационный номер пользователя, делающего запрос; title - необязательный заголовок, указываемый пользователем; copies - количество запрошенных копий; options - список параметров; file - полное имя распечатываемого файла.
Когда вызывается программа интерфейса, ее стандартный ввод идет из /dev/null, стандартный вывод направляется в порт принтера, а стандартный вывод ошибок направляется в файл, который задается пользователем, выдающим запрос на распечатку.
Параметр options cтандартной программы интерфейса может принимать следующий значения:
nofilebreak - используется, чтобы пропустить прерывание страницы между отдельнными файлами данных;
lpi=decimal-number2 - устанавливают параметры распечатки: "decimal-number1" колонок на дюйм и "decimal-number2" строк на дюйм соответственно. Слова pica, elite и compressed являются приемлемыми заменами decimal-number1 и означают 10 колонок на дюйм, 12 колонок на дюйм и максимально возможное число колонок на дюйм соответственно;
width=decimal-number2 - устанавливают соответственно длину и ширину страниц для распечатки;
'stty-option-list' - используется для изменения конфигурации порта, которая устанавливается по умолчанию.
Дополнительная информация о конфигурации принтера передается программе интерфейса в переменных командного файла:
TERM=printer-type - указывает тип принтера. Это значение используется для получения информации о возможностях принтера из базы данной Terminfo;
FILTER='pipeline' - указывает фильтр, используемый для отсылки содержимого запроса на принтер;
CHARSET=character-set - указывает набор символов, используемый при распечатке содержимого запроса.
Настроенная программа интерфейса или должна игнорировать эти параметры и переменные командного файла, или распознавать их и обрабатывать соответствующим образом.