From: Ben W. <be...@va...> - 2001-02-20 20:59:24
|
> Ben, > > What happened to the tc_* fields that used to be in > the LPS_PrinterType struct? > The sun guys have a different way of doing it. I figured that one of two things will happen. We will end up making the gnulpr 1.0 release with my old version of libprintsys and your gprinttool or we will have merged in suns libprint code and we will skip ahead to the gnulpr 2.0 release. -ben > typedef struct { > char **names; > LPS_PairType *fields; > char *comments; > LPS_PairType tc_field; > LPS_PairType *tc_position; > } LPS_PrinterType; > > These were being used to keep track of any expanded > tc= entries so that the printcap could be properly > written. Has this stuff been rewritten? > > Ben Woodard wrote: > > > > Here is a new revision of printsys.h > > > > The changes are: > > 1) massive reorg > > 2) added ns pointers to lps_get_printer_list and lps_get_printer > > > > I'd really like to settle this down this week and start merging code. > > I have to say, I don't know how to move toward a better consensus. I > > guess I sort of see the process as a bit of a negotiation. I put > > forward a proposal. Certain parts of it are readily accepted. Other > > parts are rejected. Couter proposals are put forth and reasons are > > given for the the different design decisions. > > > > The problem for me is that I feel like I've been operating in a > > vacuum. I feel like I've been the only one putting forth proposals. I > > don't know what points are settled and what points still need to be > > resolved. Once we have boiled it down to just the areas where we > > disagree, then we can begin focusing on those areas and really come to > > agreement. > > > > I feel like I've incorporated virtually everything that was in your > > pricess.h header file over the last few revisions and so I am > > anxiously wondering how close we now are. > > > > -ben > > > > /* Copyright (c) 2001 Ben Woodard > > * All rights reserved. > > * > > * This program is free software; you can redistribute it and/or > > * modify it under the terms of the GNU Lesser General Public > > * Licence as published by the Free Software Foundation; either > > * version 2 of the Licence, or (at your option) any later > > * version. > > * > > * This program is distributed in the hope that it will be useful, > > * but WITHOUT ANY WARRENTY; without even the implied warrenty of > > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > * GNU General Public Licence in the COPYING file for more > > * details. > > * > > * You should have received a copy of the GNU Library General > > * Public License along with the GNU C Library; see the file > > * COPYING.LIB. If not, write to the Free Software Foundation, > > * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. > > */ > > > > /* This is intended to be the external interface presented to the > > client programs who wish to print. */ > > #ifndef __PRINTSYS_H__ > > #define __PRINTSYS_H__ > > > > #include <wchar.h> > > > > #define SOCK_PATHNAME "/dev/printer" > > > > enum LPS_ErrorType { LPS_ACCESS }; > > > > int lps_init(void *initdata); > > int lps_end (void); > > > > /***** Pair data structure *****/ > > typedef struct { > > wchar_t *key; > > wchar_t *value; > > } LPS_PairType; > > > > wchar_t *lps_pair_lookup(LPS_PairType *pairs, const wchar_t *key); > > LPS_ErrorType lps_pair_set(const LPS_PairType *pairs, > > const wchar_t *key, const wchar_t *value); > > void lps_free_pairs(LPS_PairType *doomed); > > > > /***** Printer data structures *****/ > > wchar_t **lps_get_printer_list(char *ns); > > void lps_free_printer_list(wchar_t **doomed); > > > > typedef struct { > > wchar_t **names; > > LPS_PairType *fields; > > wchar_t *comments; > > } LPS_PrinterType; > > > > LPS_PrinterType *lps_get_printer (const wchar_t *prname, char *ns); > > void lps_free_printer(LPS_PrinterType *doomed); > > LPS_PrinterType *lps_create_printer(const wchar_t **prnames, > > LPS_PairType *fields, wchar_t *comments); > > #define lps_pr_lookup_field( _printer, _key ) \ > > lps_pair_lookup( _printer->fields, _key ) > > #define lps_pr_name( _printer) _printer->names[0] > > > > /* apply to backend store */ > > LPS_ErrorType lps_commit_printer(LPS_PrinterType *printer); > > LPS_ErrorType lps_destroy_printer(LPS_PrinterType *printer); > > > > /***** Job data structure ****/ > > typedef struct { > > unsigned int last_docid; > > unsinged int seqno; > > LPS_PairType *attributes; > > } LPS_JobType; > > > > LPS_JobType lps_create_job(LPS_PairType *attributes); > > void lps_free_job(LPS_JobType *doomed); > > > > /***** Document submission functions *****/ > > int lps_get_connection(LPS_PrinterType *printer, > > LPS_PairType *attributes,unsigned int *docid, > > int errfd,LPS_JobType *job,int last); > > unsigned int lps_send_reference(LPS_PrinterType *printer, > > LPS_PairType *attributes,int srcfd, > > int errfd, LPS_JobType *job,int last); > > > > LPS_PairType *lps_get_doc_attributes(unsigned int docid); > > LPS_ErrorType lps_set_doc_attributes(unsigned int docid, > > LPS_PairType *attribs); > > > > #endif /* __PRINTSYS_H__ */ > > -- > ------------------------------------------------------ > Mark Pruett VA Linux Systems > mp...@va... Open Source Printing > ------------------------------------------------------ |