Provided by: libgnuspool-dev_1.7ubuntu1_amd64 bug

NAME

       gspool_ptradd - add a new printer

SYNOPSIS

       #include <gspool.h>

       int gspool_ptradd(const int fd, struct apispptr *ptrd)

DESCRIPTION

       The function gspool_ptradd() is used to create a printer.

       fd is a file descriptor previously returned by gspool_open

       ptrd is a "struct apispptr" describing the details of the printer. It is defined in the file gspool.h.
       The fields in struct apispptr are defined in the documentation for gspool_ptrread(3).

       Only values for the name, device, formtype, description, local flag, the minimun and maximum job sizes,
       the network filter flag and the class code are accepted. All other parameters are ignored. We suggest
       that you clear all fields to zero before starting. Future releases with additional fields will be
       guaranteed to default to the existing behaviour if the additional fields are set to zero.

RETURN VALUES

       Xt_ptradd returns zero if successful, otherwise an error code will be returned according to the reason
       for failure.  Error codes which might be returned are:

       GSPOOL_INVALID_FD
               Invalid file descriptor

       GSPOOL_BADWRITE
               failure writing to network

       GSPOOL_BADREAD
               failure reading from network

       GSPOOL_NOPERM
               User does not have permission to add printers

       GSPOOL_BAD_FORM
               invalid form type

EXAMPLE

       An example to add a printer called "hplj1" on device "/dev/tty12" with form type "a4"

        int fd, ret;
        struct apispptr ptr;

        fd = gspool_open("myhost", (char *) 0, 0);
        if (fd < 0) { /* error handling */
            ...
        }

        memset((void *) &ptr, '\0', sizeof(ptr));
        ptr.apispp_class = 0xffffffff;
        ptr.apispp_minsize = ptr.apispp_maxsize = 0;
        strcpy(ptr.apispp_ptr, "hplj1");
        strcpy(ptr.apispp_form, "a4");
        strcpy(ptr.apispp_dev, "tty12");
        strcpy(ptr.apispp_comment, "My new printer");
        ret = gspool_ptradd(fd, &ptr);
        if (ret < 0) { /* error handling */
            ...
        }

        gspool_close(fd);

SEE ALSO

       gspool_ptrread(3),    gspool_ptrdel(3),   gspool_ptrfind(3),   gspool_ptrfindslot(3),   gspool_ptrupd(3),
       gspool_ptrmon(3), gspool_ptrop(3).

COPYRIGHT

       Copyright (c) 2009 Free Software Foundation, Inc.  This is free software. You may redistribute copies  of
       it under the terms of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.  There is NO
       WARRANTY, to the extent permitted by law.

AUTHOR

       John M Collins, Xi Software Ltd.

GNUspool Release 1                                 2009-05-30                                   gspool_ptradd(3)