gen_p.h (7c478bd95313f5f23a4c958a745db2134aa03244) | gen_p.h (9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829) |
---|---|
1/* | 1/* |
2 * Copyright 1997-2002 Sun Microsystems, Inc. All rights reserved. 3 * Use is subject to license terms. 4 */ 5 6/* | 2 * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") |
7 * Copyright (c) 1996,1999 by Internet Software Consortium. 8 * 9 * Permission to use, copy, modify, and distribute this software for any 10 * purpose with or without fee is hereby granted, provided that the above 11 * copyright notice and this permission notice appear in all copies. 12 * | 3 * Copyright (c) 1996,1999 by Internet Software Consortium. 4 * 5 * Permission to use, copy, modify, and distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * |
13 * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS 14 * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES 15 * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE 16 * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 17 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 18 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 19 * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 20 * SOFTWARE. | 9 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES 10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR 12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 15 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
21 */ 22 | 16 */ 17 |
23#pragma ident "%Z%%M% %I% %E% SMI" 24 | |
25/* | 18/* |
26 * $Id: gen_p.h,v 1.11 2001/05/29 05:48:39 marka Exp $ | 19 * $Id: gen_p.h,v 1.3 2005/04/27 04:56:23 sra Exp $ |
27 */ 28 | 20 */ 21 |
29/* Notes: | 22/*! \file 23 * Notes: |
30 * We hope to create a complete set of thread-safe entry points someday, 31 * which will mean a set of getXbyY() functions that take as an argument 32 * a pointer to the map class, which will have a pointer to the private 33 * data, which will be used preferentially to the static variables that 34 * are necessary to support the "classic" interface. This "classic" 35 * interface will then be reimplemented as stubs on top of the thread 36 * safe modules, and will keep the map class pointers as their only 37 * static data. HOWEVER, we are not there yet. So while we will call 38 * the just-barely-converted map class methods with map class pointers, 39 * right now they probably all still use statics. We're not fooling 40 * anybody, and we're not trying to (yet). 41 */ 42 43#ifndef _GEN_P_H_INCLUDED 44#define _GEN_P_H_INCLUDED 45 | 24 * We hope to create a complete set of thread-safe entry points someday, 25 * which will mean a set of getXbyY() functions that take as an argument 26 * a pointer to the map class, which will have a pointer to the private 27 * data, which will be used preferentially to the static variables that 28 * are necessary to support the "classic" interface. This "classic" 29 * interface will then be reimplemented as stubs on top of the thread 30 * safe modules, and will keep the map class pointers as their only 31 * static data. HOWEVER, we are not there yet. So while we will call 32 * the just-barely-converted map class methods with map class pointers, 33 * right now they probably all still use statics. We're not fooling 34 * anybody, and we're not trying to (yet). 35 */ 36 37#ifndef _GEN_P_H_INCLUDED 38#define _GEN_P_H_INCLUDED 39 |
46/* | 40/*% |
47 * These are the access methods. 48 */ 49enum irs_acc_id { | 41 * These are the access methods. 42 */ 43enum irs_acc_id { |
50 irs_lcl, /* Local. */ 51 irs_dns, /* DNS or Hesiod. */ 52 irs_nis, /* Sun NIS ("YP"). */ 53 irs_irp, /* IR protocol. */ | 44 irs_lcl, /*%< Local. */ 45 irs_dns, /*%< DNS or Hesiod. */ 46 irs_nis, /*%< Sun NIS ("YP"). */ 47 irs_irp, /*%< IR protocol. */ |
54 irs_nacc 55}; 56 | 48 irs_nacc 49}; 50 |
57/* | 51/*% |
58 * These are the map types. 59 */ 60enum irs_map_id { | 52 * These are the map types. 53 */ 54enum irs_map_id { |
61 irs_gr, /* "group" */ 62 irs_pw, /* "passwd" */ 63 irs_sv, /* "services" */ 64 irs_pr, /* "protocols" */ 65 irs_ho, /* "hosts" */ 66 irs_nw, /* "networks" */ 67 irs_ng, /* "netgroup" */ | 55 irs_gr, /*%< "group" */ 56 irs_pw, /*%< "passwd" */ 57 irs_sv, /*%< "services" */ 58 irs_pr, /*%< "protocols" */ 59 irs_ho, /*%< "hosts" */ 60 irs_nw, /*%< "networks" */ 61 irs_ng, /*%< "netgroup" */ |
68 irs_nmap 69}; 70 | 62 irs_nmap 63}; 64 |
71/* | 65/*% |
72 * This is an accessor instance. 73 */ 74struct irs_inst { 75 struct irs_acc *acc; 76 struct irs_gr * gr; 77 struct irs_pw * pw; 78 struct irs_sv * sv; 79 struct irs_pr * pr; 80 struct irs_ho * ho; 81 struct irs_nw * nw; 82 struct irs_ng * ng; 83}; 84 | 66 * This is an accessor instance. 67 */ 68struct irs_inst { 69 struct irs_acc *acc; 70 struct irs_gr * gr; 71 struct irs_pw * pw; 72 struct irs_sv * sv; 73 struct irs_pr * pr; 74 struct irs_ho * ho; 75 struct irs_nw * nw; 76 struct irs_ng * ng; 77}; 78 |
85/* | 79/*% |
86 * This is a search rule for some map type. 87 */ 88struct irs_rule { 89 struct irs_rule * next; 90 struct irs_inst * inst; 91 int flags; 92}; | 80 * This is a search rule for some map type. 81 */ 82struct irs_rule { 83 struct irs_rule * next; 84 struct irs_inst * inst; 85 int flags; 86}; |
93#define IRS_MERGE 0x0001 /* Don't stop if acc. has data? */ 94#define IRS_CONTINUE 0x0002 /* Don't stop if acc. has no data? */ 95 | 87#define IRS_MERGE 0x0001 /*%< Don't stop if acc. has data? */ 88#define IRS_CONTINUE 0x0002 /*%< Don't stop if acc. has no data? */ |
96/* 97 * This is the private data for a search access class. 98 */ 99struct gen_p { 100 char * options; 101 struct irs_rule * map_rules[(int)irs_nmap]; 102 struct irs_inst accessors[(int)irs_nacc]; 103 struct __res_state * res; --- 17 unchanged lines hidden --- | 89/* 90 * This is the private data for a search access class. 91 */ 92struct gen_p { 93 char * options; 94 struct irs_rule * map_rules[(int)irs_nmap]; 95 struct irs_inst accessors[(int)irs_nacc]; 96 struct __res_state * res; --- 17 unchanged lines hidden --- |