DOKK / manpages / debian 12 / libppd-dev / ppd_file_new.3.en
ppd_file_new_from_filep(3) Library Functions Manual ppd_file_new_from_filep(3)

ppd_file_new_from_filep, ppd_file_new_from_fd, ppd_file_new - Parse a ppd file and load it into the ppd_file_t structure.

#include <ppd.h>

ppd_file_t *ppd_file_new_from_filep(FILE* fp");"

ppd_file_t *ppd_file_new_from_fd(int fd");"

ppd_file_t *ppd_file_new(const char * filename");"

The ppd_file_new_from_filep function parses the specified PPD file.

Upon successful completion ppd_file_new_from_filep, ppd_file_new_from_fd , ppd_file_new return a ppd_file_t pointer. Otherwise, NULL is returned and errno is set.

the FILE pointer passed into ppd_file_new_from_filep or the file descriptor passed into ppd_file_new_from_fd is NULL.
the file doesn't appear to be a PPD file.
no idea what these errors are. Probably PPD parse errors.

ppd_file_free(3), ppd_emit_to_file(3)

14 July 2000 Linux Programmer's Manual