Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ISC Open Source Projects
BIND
Commits
217f5720
Commit
217f5720
authored
Feb 02, 1999
by
Mark Andrews
Browse files
NSAP-PTR Initial implementation.
Modified gen.c to support "-" in class and type names.
parent
5d155019
Changes
4
Hide whitespace changes
Inline
Side-by-side
lib/dns/gen.c
View file @
217f5720
...
...
@@ -15,7 +15,7 @@
* SOFTWARE.
*/
/* $Id: gen.c,v 1.1
1
1999/0
1/28 05:03
:2
3
marka Exp $ */
/* $Id: gen.c,v 1.1
2
1999/0
2/02 22:34
:2
0
marka Exp $ */
#include
<sys/types.h>
...
...
@@ -108,6 +108,7 @@ struct tt {
}
*
types
;
char
*
upper
(
char
*
);
char
*
funname
(
char
*
,
char
*
);
void
doswitch
(
char
*
,
char
*
,
char
*
,
char
*
,
char
*
,
char
*
);
void
dodecl
(
char
*
,
char
*
,
char
*
);
void
add
(
int
,
char
*
,
int
,
char
*
,
char
*
);
...
...
@@ -127,6 +128,18 @@ upper(char *s) {
return
(
buf
);
}
char
*
funname
(
char
*
s
,
char
*
buf
)
{
char
*
b
=
buf
;
char
c
;
while
((
c
=
*
s
++
))
{
*
b
++
=
(
c
==
'-'
)
?
'_'
:
c
;
}
*
b
=
'\0'
;
return
(
buf
);
}
void
doswitch
(
char
*
name
,
char
*
function
,
char
*
args
,
char
*
tsw
,
char
*
csw
,
char
*
res
)
...
...
@@ -135,6 +148,7 @@ doswitch(char *name, char *function, char *args,
int
first
=
1
;
int
lasttype
=
0
;
int
subswitch
=
0
;
char
buf1
[
11
],
buf2
[
11
];
for
(
tt
=
types
;
tt
!=
NULL
;
tt
=
tt
->
next
)
{
if
(
first
)
{
...
...
@@ -156,12 +170,14 @@ doswitch(char *name, char *function, char *args,
if
(
tt
->
class
==
0
)
fprintf
(
stdout
,
"
\t
case %d: result = %s_%s(%s); break;"
,
tt
->
type
,
function
,
tt
->
typename
,
args
);
tt
->
type
,
function
,
funname
(
tt
->
typename
,
buf1
),
args
);
else
fprintf
(
stdout
,
"
\t\t
case %d: result = %s_%s_%s(%s); break;"
,
tt
->
class
,
function
,
tt
->
classname
,
tt
->
typename
,
args
);
tt
->
class
,
function
,
funname
(
tt
->
classname
,
buf1
),
funname
(
tt
->
typename
,
buf2
),
args
);
fputs
(
"
\\\n
"
,
stdout
);
lasttype
=
tt
->
type
;
}
...
...
@@ -181,18 +197,21 @@ doswitch(char *name, char *function, char *args,
void
dodecl
(
char
*
type
,
char
*
function
,
char
*
args
)
{
struct
tt
*
tt
;
char
buf1
[
11
],
buf2
[
11
];
fputs
(
"
\n
"
,
stdout
);
for
(
tt
=
types
;
tt
;
tt
=
tt
->
next
)
if
(
tt
->
class
)
fprintf
(
stdout
,
"static %s %s_%s_%s(%s);
\n
"
,
type
,
function
,
tt
->
classname
,
tt
->
typename
,
args
);
type
,
function
,
funname
(
tt
->
classname
,
buf1
),
funname
(
tt
->
typename
,
buf2
),
args
);
else
fprintf
(
stdout
,
"static %s %s_%s(%s);
\n
"
,
type
,
function
,
tt
->
typename
,
args
);
type
,
function
,
funname
(
tt
->
typename
,
buf1
),
args
);
}
void
...
...
@@ -277,7 +296,7 @@ sd(int class, char *classname, char *dir) {
return
;
while
((
dp
=
readdir
(
d
))
!=
NULL
)
{
if
(
sscanf
(
dp
->
d_name
,
"%10[0-9a-z]_%d.h"
,
if
(
sscanf
(
dp
->
d_name
,
"%10[
-
0-9a-z]_%d.h"
,
typename
,
&
type
)
!=
2
)
continue
;
if
((
type
>
65535
)
||
(
type
<
0
))
...
...
@@ -308,6 +327,7 @@ main(int argc, char **argv) {
int
class_enum
=
0
;
int
type_enum
=
0
;
int
c
;
char
buf1
[
11
];
while
((
c
=
getopt
(
argc
,
argv
,
"ct"
))
!=
-
1
)
switch
(
c
)
{
...
...
@@ -411,7 +431,7 @@ main(int argc, char **argv) {
for
(
tt
=
types
;
tt
!=
NULL
;
tt
=
tt
->
next
)
if
(
tt
->
type
!=
lasttype
)
fprintf
(
stdout
,
"
\t
ns_t_%s = %d,%s
\n
"
,
tt
->
typename
,
funname
(
tt
->
typename
,
buf1
),
lasttype
=
tt
->
type
,
tt
->
next
!=
NULL
?
"
\\
"
:
""
);
fprintf
(
stdout
,
"#endif /* TYPEENUM */
\n
"
);
...
...
@@ -422,7 +442,7 @@ main(int argc, char **argv) {
for
(
cc
=
classes
;
cc
!=
NULL
;
cc
=
cc
->
next
)
fprintf
(
stdout
,
"
\t
ns_c_%s = %d,%s
\n
"
,
cc
->
classname
,
funname
(
cc
->
classname
,
buf1
),
cc
->
class
,
cc
->
next
!=
NULL
?
"
\\
"
:
""
);
fprintf
(
stdout
,
"#endif /* CLASSENUM */
\n
"
);
...
...
lib/dns/rdata.c
View file @
217f5720
...
...
@@ -15,7 +15,7 @@
* SOFTWARE.
*/
/* $Id: rdata.c,v 1.2
1
1999/02/02
05:44:51
marka Exp $ */
/* $Id: rdata.c,v 1.2
2
1999/02/02
22:34:20
marka Exp $ */
#include
<config.h>
...
...
@@ -84,14 +84,12 @@ static const char octdigits[] = "01234567";
#define METATYPES \
{ 0, "NONE", META }, \
{ 23, "NSAP-PTR", RESERVED }, \
{ 31, "EID", RESERVED }, \
{ 32, "NIMLOC", RESERVED }, \
{ 34, "ATMA", RESERVED }, \
{ 100, "UINFO", RESERVED }, \
{ 101, "UID", RESERVED }, \
{ 102, "GID", RESERVED }, \
{ 103, "UNSPEC", RESERVED }, \
{ 249, "TKEY", META }, \
{ 250, "TSIG", META }, \
{ 251, "IXFR", META }, \
...
...
lib/dns/rdata/in_1/nsap-ptr_23.c
0 → 100644
View file @
217f5720
/*
* Copyright (C) 1999 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
* SOFTWARE.
*/
/* $Id: nsap-ptr_23.c,v 1.1 1999/02/02 22:34:20 marka Exp $ */
/* RFC 1348 */
#ifndef RDATA_IN_1_NSAP_PTR_23_H
#define RDATA_IN_1_NSAP_PTR_23_H
static
dns_result_t
fromtext_in_nsap_ptr
(
dns_rdataclass_t
class
,
dns_rdatatype_t
type
,
isc_lex_t
*
lexer
,
dns_name_t
*
origin
,
isc_boolean_t
downcase
,
isc_buffer_t
*
target
)
{
isc_token_t
token
;
dns_name_t
name
;
isc_buffer_t
buffer
;
REQUIRE
(
type
==
23
);
REQUIRE
(
class
==
1
);
RETERR
(
gettoken
(
lexer
,
&
token
,
isc_tokentype_string
,
ISC_FALSE
));
dns_name_init
(
&
name
,
NULL
);
buffer_fromregion
(
&
buffer
,
&
token
.
value
.
as_region
,
ISC_BUFFERTYPE_TEXT
);
origin
=
(
origin
!=
NULL
)
?
origin
:
dns_rootname
;
return
(
dns_name_fromtext
(
&
name
,
&
buffer
,
origin
,
downcase
,
target
));
}
static
dns_result_t
totext_in_nsap_ptr
(
dns_rdata_t
*
rdata
,
dns_name_t
*
origin
,
isc_buffer_t
*
target
)
{
isc_region_t
region
;
dns_name_t
name
;
dns_name_t
prefix
;
isc_boolean_t
sub
;
REQUIRE
(
rdata
->
type
==
23
);
REQUIRE
(
rdata
->
class
==
1
);
dns_name_init
(
&
name
,
NULL
);
dns_name_init
(
&
prefix
,
NULL
);
dns_rdata_toregion
(
rdata
,
&
region
);
dns_name_fromregion
(
&
name
,
&
region
);
sub
=
name_prefix
(
&
name
,
origin
,
&
prefix
);
return
(
dns_name_totext
(
&
prefix
,
sub
,
target
));
}
static
dns_result_t
fromwire_in_nsap_ptr
(
dns_rdataclass_t
class
,
dns_rdatatype_t
type
,
isc_buffer_t
*
source
,
dns_decompress_t
*
dctx
,
isc_boolean_t
downcase
,
isc_buffer_t
*
target
)
{
dns_name_t
name
;
REQUIRE
(
type
==
23
);
REQUIRE
(
class
==
1
);
dns_name_init
(
&
name
,
NULL
);
return
(
dns_name_fromwire
(
&
name
,
source
,
dctx
,
downcase
,
target
));
}
static
dns_result_t
towire_in_nsap_ptr
(
dns_rdata_t
*
rdata
,
dns_compress_t
*
cctx
,
isc_buffer_t
*
target
)
{
dns_name_t
name
;
isc_region_t
region
;
REQUIRE
(
rdata
->
type
==
23
);
REQUIRE
(
rdata
->
class
==
1
);
dns_name_init
(
&
name
,
NULL
);
dns_rdata_toregion
(
rdata
,
&
region
);
dns_name_fromregion
(
&
name
,
&
region
);
return
(
dns_name_towire
(
&
name
,
cctx
,
target
));
}
static
int
compare_in_nsap_ptr
(
dns_rdata_t
*
rdata1
,
dns_rdata_t
*
rdata2
)
{
dns_name_t
name1
;
dns_name_t
name2
;
isc_region_t
region1
;
isc_region_t
region2
;
REQUIRE
(
rdata1
->
type
==
rdata2
->
type
);
REQUIRE
(
rdata1
->
class
==
rdata2
->
class
);
REQUIRE
(
rdata1
->
type
==
23
);
REQUIRE
(
rdata1
->
class
==
1
);
dns_name_init
(
&
name1
,
NULL
);
dns_name_init
(
&
name2
,
NULL
);
dns_rdata_toregion
(
rdata1
,
&
region1
);
dns_rdata_toregion
(
rdata2
,
&
region2
);
dns_name_fromregion
(
&
name1
,
&
region1
);
dns_name_fromregion
(
&
name2
,
&
region2
);
return
(
dns_name_compare
(
&
name1
,
&
name2
));
}
static
dns_result_t
fromstruct_in_nsap_ptr
(
dns_rdataclass_t
class
,
dns_rdatatype_t
type
,
void
*
source
,
isc_buffer_t
*
target
)
{
REQUIRE
(
type
==
23
);
REQUIRE
(
class
==
1
);
source
=
source
;
target
=
target
;
return
(
DNS_R_NOTIMPLEMENTED
);
}
static
dns_result_t
tostruct_in_nsap_ptr
(
dns_rdata_t
*
rdata
,
void
*
target
)
{
REQUIRE
(
rdata
->
type
==
23
);
REQUIRE
(
rdata
->
class
==
1
);
target
=
target
;
return
(
DNS_R_NOTIMPLEMENTED
);
}
#endif
/* RDATA_IN_1_NSAP_PTR_23_H */
lib/dns/rdata/in_1/nsap-ptr_23.h
0 → 100644
View file @
217f5720
/*
* Copyright (C) 1999 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
* SOFTWARE.
*/
/* $Id: nsap-ptr_23.h,v 1.1 1999/02/02 22:34:20 marka Exp $ */
/* RFC 1348 */
#ifndef RDATA_IN_1_NSAP_PTR_23_H
#define RDATA_IN_1_NSAP_PTR_23_H
static
dns_result_t
fromtext_in_nsap_ptr
(
dns_rdataclass_t
class
,
dns_rdatatype_t
type
,
isc_lex_t
*
lexer
,
dns_name_t
*
origin
,
isc_boolean_t
downcase
,
isc_buffer_t
*
target
)
{
isc_token_t
token
;
dns_name_t
name
;
isc_buffer_t
buffer
;
REQUIRE
(
type
==
23
);
REQUIRE
(
class
==
1
);
RETERR
(
gettoken
(
lexer
,
&
token
,
isc_tokentype_string
,
ISC_FALSE
));
dns_name_init
(
&
name
,
NULL
);
buffer_fromregion
(
&
buffer
,
&
token
.
value
.
as_region
,
ISC_BUFFERTYPE_TEXT
);
origin
=
(
origin
!=
NULL
)
?
origin
:
dns_rootname
;
return
(
dns_name_fromtext
(
&
name
,
&
buffer
,
origin
,
downcase
,
target
));
}
static
dns_result_t
totext_in_nsap_ptr
(
dns_rdata_t
*
rdata
,
dns_name_t
*
origin
,
isc_buffer_t
*
target
)
{
isc_region_t
region
;
dns_name_t
name
;
dns_name_t
prefix
;
isc_boolean_t
sub
;
REQUIRE
(
rdata
->
type
==
23
);
REQUIRE
(
rdata
->
class
==
1
);
dns_name_init
(
&
name
,
NULL
);
dns_name_init
(
&
prefix
,
NULL
);
dns_rdata_toregion
(
rdata
,
&
region
);
dns_name_fromregion
(
&
name
,
&
region
);
sub
=
name_prefix
(
&
name
,
origin
,
&
prefix
);
return
(
dns_name_totext
(
&
prefix
,
sub
,
target
));
}
static
dns_result_t
fromwire_in_nsap_ptr
(
dns_rdataclass_t
class
,
dns_rdatatype_t
type
,
isc_buffer_t
*
source
,
dns_decompress_t
*
dctx
,
isc_boolean_t
downcase
,
isc_buffer_t
*
target
)
{
dns_name_t
name
;
REQUIRE
(
type
==
23
);
REQUIRE
(
class
==
1
);
dns_name_init
(
&
name
,
NULL
);
return
(
dns_name_fromwire
(
&
name
,
source
,
dctx
,
downcase
,
target
));
}
static
dns_result_t
towire_in_nsap_ptr
(
dns_rdata_t
*
rdata
,
dns_compress_t
*
cctx
,
isc_buffer_t
*
target
)
{
dns_name_t
name
;
isc_region_t
region
;
REQUIRE
(
rdata
->
type
==
23
);
REQUIRE
(
rdata
->
class
==
1
);
dns_name_init
(
&
name
,
NULL
);
dns_rdata_toregion
(
rdata
,
&
region
);
dns_name_fromregion
(
&
name
,
&
region
);
return
(
dns_name_towire
(
&
name
,
cctx
,
target
));
}
static
int
compare_in_nsap_ptr
(
dns_rdata_t
*
rdata1
,
dns_rdata_t
*
rdata2
)
{
dns_name_t
name1
;
dns_name_t
name2
;
isc_region_t
region1
;
isc_region_t
region2
;
REQUIRE
(
rdata1
->
type
==
rdata2
->
type
);
REQUIRE
(
rdata1
->
class
==
rdata2
->
class
);
REQUIRE
(
rdata1
->
type
==
23
);
REQUIRE
(
rdata1
->
class
==
1
);
dns_name_init
(
&
name1
,
NULL
);
dns_name_init
(
&
name2
,
NULL
);
dns_rdata_toregion
(
rdata1
,
&
region1
);
dns_rdata_toregion
(
rdata2
,
&
region2
);
dns_name_fromregion
(
&
name1
,
&
region1
);
dns_name_fromregion
(
&
name2
,
&
region2
);
return
(
dns_name_compare
(
&
name1
,
&
name2
));
}
static
dns_result_t
fromstruct_in_nsap_ptr
(
dns_rdataclass_t
class
,
dns_rdatatype_t
type
,
void
*
source
,
isc_buffer_t
*
target
)
{
REQUIRE
(
type
==
23
);
REQUIRE
(
class
==
1
);
source
=
source
;
target
=
target
;
return
(
DNS_R_NOTIMPLEMENTED
);
}
static
dns_result_t
tostruct_in_nsap_ptr
(
dns_rdata_t
*
rdata
,
void
*
target
)
{
REQUIRE
(
rdata
->
type
==
23
);
REQUIRE
(
rdata
->
class
==
1
);
target
=
target
;
return
(
DNS_R_NOTIMPLEMENTED
);
}
#endif
/* RDATA_IN_1_NSAP_PTR_23_H */
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment