isc_result_t status;
unsigned code;
- /*
+ /*
* TODO: LATER constant is very undescriptive. We should review it and
* change it to something more descriptive or even better remove it
* completely as it is currently not used.
}
}
#endif
-
+
/* Initialize the top level client configuration. */
memset (&top_level_config, 0, sizeof top_level_config);
/*
* All we care about is DUIDs - if we get anything else
* just toss it and continue looking for DUIDs until we
- * run out of file.
+ * run out of file.
*/
if (token == DEFAULT_DUID) {
parse_client_default_duid(cfile);
end_parse (&cfile);
}
-/* client-declaration :==
+/* client-declaration :==
SEND option-decl |
DEFAULT option-decl |
SUPERSEDE option-decl |
parse_semi (cfile);
}
return;
-
+
case KEY:
skip_token(&val, (unsigned *)0, cfile);
if (ip) {
parse_warn (cfile, "expecting a policy type.");
skip_to_semi (cfile);
return;
- }
+ }
break;
case OPTION:
config -> omapi_port = tmp;
parse_semi (cfile);
return;
-
+
case DO_FORWARD_UPDATE:
skip_token(&val, (unsigned *)0, cfile);
token = next_token (&val, (unsigned *)0, cfile);
strcpy (name, val);
parse_interface_declaration (cfile, config, name);
return;
-
+
case LEASE:
skip_token(&val, (unsigned *)0, cfile);
parse_client_lease_statement (cfile, 1);
client -> leases = lease;
return;
}
-
+
/* The last lease in the lease file on a particular interface is
the active lease for that interface. Of course, we don't know
what the last lease in the file is until we've parsed the whole
"for reject statement");
skip_to_semi(cfile);
return;
- }
+ }
list = dmalloc(sizeof(struct iaddrmatchlist), MDL);
if (!list)
parse_warn (cfile, "expecting semicolon.");
skip_to_semi (cfile);
}
-}
+}
/* allow-deny-keyword :== BOOTP
| BOOTING
for example requested_subnet_mask=1. No such variable is defined for
options not requested by the client or options that don't require a
request option, such as the ip address (*_ip_address) or expiration
-time (*_expiry).
+time (*_expiry).
.PP
Before actually configuring the address, dhclient-script should
somehow ARP for it and exit with a nonzero status if it receives a
if (found == ISC_FALSE)
return 0;
-
+
/* Get the V6ONLY_WAIT timer. */
oc = lookup_option(&dhcp_universe, packet->options,
DHO_V6_ONLY_PREFERRED);
.PP
\fBinitial-delay \fItime\fR\fB;\fR
.PP
-.I initial-delay
-parameter sets the maximum time client can wait after start before
+.I initial-delay
+parameter sets the maximum time client can wait after start before
commencing first transmission.
According to RFC2131 Section 4.4.1, client should wait a random time between
-startup and the actual first transmission. Previous versions of ISC DHCP
+startup and the actual first transmission. Previous versions of ISC DHCP
client used to wait random time up to 5 seconds, but that was unwanted
due to impact on startup time. As such, new versions have the default
initial delay set to 0. To restore old behavior, please set initial-delay
.PP
If for some option the client should always use a locally-configured
value or values rather than whatever is supplied by the server, these
-values can be defined in the
+values can be defined in the
.B supersede
statement.
.PP
.PP
\fBpseudo "\fIname\fR" "\fIreal-name\fB" { \fIdeclarations ... \fB }
.PP
-Under some circumstances it can be useful to declare a pseudo-interface
+Under some circumstances it can be useful to declare a pseudo-interface
and have the DHCP client acquire a configuration for that interface.
Each interface that the DHCP client is supporting normally has a DHCP
client state machine running on it to acquire and maintain its lease.
physical layer that supports this, but WTH), skip this
packet. */
if (offset < 0) {
- interface->rbuf_offset =
+ interface->rbuf_offset =
BPF_WORDALIGN(interface->rbuf_offset +
hdr.bh_caplen);
continue;
/* If the IP or UDP checksum was bad, skip the packet... */
if (offset < 0) {
- interface->rbuf_offset =
+ interface->rbuf_offset =
BPF_WORDALIGN(interface->rbuf_offset +
hdr.bh_caplen);
continue;
*/
sa = NULL;
for (p=ifa; (p != NULL) && (sa == NULL); p = p->ifa_next) {
- if ((p->ifa_addr->sa_family == AF_LINK) &&
+ if ((p->ifa_addr->sa_family == AF_LINK) &&
!strcmp(p->ifa_name, name)) {
sa = (struct sockaddr_dl *)p->ifa_addr;
}
dhcp_control_destroy,
dhcp_control_signal_handler,
dhcp_control_stuff_values,
- dhcp_control_lookup,
+ dhcp_control_lookup,
dhcp_control_create,
dhcp_control_remove, 0, 0, 0,
sizeof (dhcp_control_object_t),
dhcp_group_destroy,
dhcp_group_signal_handler,
dhcp_group_stuff_values,
- dhcp_group_lookup,
+ dhcp_group_lookup,
dhcp_group_create,
dhcp_group_remove, 0, 0, 0,
sizeof (struct group_object), 0,
dhcp_subnet_destroy,
dhcp_subnet_signal_handler,
dhcp_subnet_stuff_values,
- dhcp_subnet_lookup,
+ dhcp_subnet_lookup,
dhcp_subnet_create,
dhcp_subnet_remove, 0, 0, 0,
sizeof (struct subnet), 0,
dhcp_shared_network_destroy,
dhcp_shared_network_signal_handler,
dhcp_shared_network_stuff_values,
- dhcp_shared_network_lookup,
+ dhcp_shared_network_lookup,
dhcp_shared_network_create,
dhcp_shared_network_remove, 0, 0, 0,
sizeof (struct shared_network), 0, RC_MISC);
return DHCP_R_INVALIDARG;
group = (struct group_object *)h;
- /* XXX For now, we can only set these values on new group objects.
+ /* XXX For now, we can only set these values on new group objects.
XXX Soon, we need to be able to update group objects. */
if (!omapi_ds_strcmp (name, "name")) {
if (group -> name)
if (status == ISC_R_SUCCESS || status == DHCP_R_UNCHANGED)
return status;
}
-
+
return ISC_R_NOTFOUND;
}
if (status == ISC_R_SUCCESS || status == DHCP_R_UNCHANGED)
return status;
}
-
+
return ISC_R_NOTFOUND;
}
{
return ISC_R_NOTIMPLEMENTED;
}
-
}
/*
- * We don't need to initialize things to zero here, since
+ * We don't need to initialize things to zero here, since
* dmalloc() returns memory that is set to zero.
*/
tmp->tlname = name;
if ((*cfile)->saved_state != NULL) {
dfree((*cfile)->saved_state, MDL);
}
-
+
dfree(*cfile, MDL);
*cfile = NULL;
return ISC_R_SUCCESS;
if (!cfile->ugflag) {
if (c == EOL) {
- if (cfile->cur_line == cfile->line1) {
+ if (cfile->cur_line == cfile->line1) {
cfile->cur_line = cfile->line2;
cfile->prev_line = cfile->line1;
} else {
}
} else
cfile->ugflag = 0;
- return c;
+ return c;
}
/*
/*
* GENERAL NOTE ABOUT TOKENS
*
- * We normally only want non-whitespace tokens. There are some
+ * We normally only want non-whitespace tokens. There are some
* circumstances where we *do* want to see whitespace (for example
* when parsing IPv6 addresses).
*
- * Generally we use the next_token() function to read tokens. This
+ * Generally we use the next_token() function to read tokens. This
* in turn calls get_next_token, which does *not* return tokens for
* whitespace. Rather, it skips these.
*
p = cfile -> lpos;
c = get_char (cfile);
- if (!((c == '\n') && cfile->eol_token) &&
+ if (!((c == '\n') && cfile->eol_token) &&
isascii(c) && isspace(c)) {
ttok = read_whitespace(c, cfile);
break;
* The get_next_token() function consumes the next token and
* returns it to the caller.
*
- * Since the code is almost the same for "normal" and "raw"
+ * Since the code is almost the same for "normal" and "raw"
* input, we pass a flag to alter the way it works.
*/
-static enum dhcp_token
-get_next_token(const char **rval, unsigned *rlen,
+static enum dhcp_token
+get_next_token(const char **rval, unsigned *rlen,
struct parse *cfile, isc_boolean_t raw) {
int rv;
cfile->token_line = cfile->cur_line;
}
}
-
+
if (rval)
*rval = cfile -> tval;
if (rlen)
/*
* Get the next token from cfile and return it.
*
- * If rval is non-NULL, set the pointer it contains to
+ * If rval is non-NULL, set the pointer it contains to
* the contents of the token.
*
- * If rlen is non-NULL, set the integer it contains to
+ * If rlen is non-NULL, set the integer it contains to
* the length of the token.
*/
* The do_peek_token() function checks the next token without
* consuming it, and returns it to the caller.
*
- * Since the code is almost the same for "normal" and "raw"
- * input, we pass a flag to alter the way it works. (See the
+ * Since the code is almost the same for "normal" and "raw"
+ * input, we pass a flag to alter the way it works. (See the
* warning in the GENERAL NOTES ABOUT TOKENS above though.)
*/
/*
- * Get the next token from cfile and return it, leaving it for a
+ * Get the next token from cfile and return it, leaving it for a
* subsequent call to next_token().
*
* Note that it WILL consume whitespace tokens.
*
- * If rval is non-NULL, set the pointer it contains to
+ * If rval is non-NULL, set the pointer it contains to
* the contents of the token.
*
- * If rlen is non-NULL, set the integer it contains to
+ * If rlen is non-NULL, set the integer it contains to
* the length of the token.
*/
c = get_char(cfile);
if (c == EOF)
return END_OF_FILE;
- } while (!((c == '\n') && cfile->eol_token) &&
+ } while (!((c == '\n') && cfile->eol_token) &&
isascii(c) && isspace(c));
/*
}
break;
case 'e':
- if (isascii (atom [1]) &&
+ if (isascii (atom [1]) &&
tolower((unsigned char)atom[1]) == 'x') {
if (!strcasecmp (atom + 2, "tract-int"))
return EXTRACT_INT;
}
break;
case 'i':
- if (!strcasecmp(atom+1, "a-na"))
+ if (!strcasecmp(atom+1, "a-na"))
return IA_NA;
- if (!strcasecmp(atom+1, "a-ta"))
+ if (!strcasecmp(atom+1, "a-ta"))
return IA_TA;
- if (!strcasecmp(atom+1, "a-pd"))
+ if (!strcasecmp(atom+1, "a-pd"))
return IA_PD;
- if (!strcasecmp(atom+1, "aaddr"))
+ if (!strcasecmp(atom+1, "aaddr"))
return IAADDR;
- if (!strcasecmp(atom+1, "aprefix"))
+ if (!strcasecmp(atom+1, "aprefix"))
return IAPREFIX;
if (!strcasecmp (atom + 1, "nclude"))
return INCLUDE;
case 's':
if (!strcasecmp(atom + 1, "cript"))
return SCRIPT;
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'e') {
if (!strcasecmp(atom + 2, "arch"))
return SEARCH;
- if (isascii(atom[2]) &&
+ if (isascii(atom[2]) &&
tolower((unsigned char)atom[2]) == 'c') {
if (!strncasecmp(atom + 3, "ond", 3)) {
if (!strcasecmp(atom + 6, "ary"))
return TOKEN_SERVER;
if (atom[6] == '-') {
if (!strcasecmp(atom + 7,
- "duid"))
+ "duid"))
return SERVER_DUID;
if (!strcasecmp(atom + 7,
"name"))
return TOKEN_SET;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'h') {
if (!strcasecmp(atom + 2, "ared-network"))
return SHARED_NETWORK;
return SHUTDOWN;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'i') {
if (!strcasecmp(atom + 2, "addr"))
return SIADDR;
return SIZE;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'p') {
- if (isascii(atom[2]) &&
+ if (isascii(atom[2]) &&
tolower((unsigned char)atom[2]) == 'a') {
if (!strcasecmp(atom + 3, "ce"))
return SPACE;
return SPLIT;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 't') {
- if (isascii(atom[2]) &&
+ if (isascii(atom[2]) &&
tolower((unsigned char)atom[2]) == 'a') {
if(!strncasecmp(atom + 3, "rt", 2)) {
if (!strcasecmp(atom + 5, "s"))
return SUBSTRING;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'u') {
if (!strcasecmp(atom + 2, "ffix"))
return SUFFIX;
}
return dfv;
}
-
tipkt.index = htonl (ip -> index);
trace_write_packet (ttype, sizeof tipkt, (char *)&tipkt, MDL);
- }
+ }
}
void trace_interface_input (trace_type_t *ttype, unsigned len, char *buf)
return;
}
tipkt = (trace_interface_packet_t *)buf;
-
+
ip = (struct interface_info *)0;
status = interface_allocate (&ip, MDL);
if (status != ISC_R_SUCCESS) {
ip->address_count = ip->address_max = 1;
ip->addresses = dmalloc(sizeof(*ip->addresses), MDL);
if (!ip->addresses) {
- dfree(ip->ifp, MDL);
+ dfree(ip->ifp, MDL);
ip->ifp = NULL;
interface_dereference (&ip, MDL);
status = ISC_R_NOMEMORY;
tip = (trace_inpacket_t *)buf;
index = ntohl (tip -> index);
tip -> from.len = ntohl (tip -> from.len);
-
+
if (index > interface_count ||
index < 0 ||
!interface_vector [index]) {
}
tip = (trace_outpacket_t *)buf;
index = ntohl (tip -> index);
-
+
if (index > interface_count ||
index < 0 ||
!interface_vector [index]) {
.B elsif
and
.B else
-clauses are skipped. Otherwise, each subsequent
+clauses are skipped. Otherwise, each subsequent
.B elsif
clause's expression is checked, until an elsif clause is encountered
whose test evaluates to true. If such a clause is found, the
.B elsif
and
.B else
-clauses are skipped. If all the
+clauses are skipped. If all the
.B if
and
.B elsif
statement and the
.B case
statements can both be data expressions or numeric expressions. Within
-a switch statement they all must be the same type. The server
+a switch statement they all must be the same type. The server
evaluates the expression from the switch statement and then it evaluates
the expressions from the case statements until it finds a match.
.PP
.B option \fBpxe-system-type\fR \fIuint16\fR [\fB, \fIuint16\fR ... ]\fB;\fR
.RS 0.25i
.PP
-A list of one ore more 16-bit integers which allows a client to specify its
+A list of one ore more 16-bit integers which allows a client to specify its
pre-boot architecture type(s).
.PP
This option is included based on RFC 4578.
dhcp_interface_destroy,
dhcp_interface_signal_handler,
dhcp_interface_stuff_values,
- dhcp_interface_lookup,
+ dhcp_interface_lookup,
dhcp_interface_create,
dhcp_interface_remove,
0, 0, 0,
}
-/*
+/*
* Scanning for Interfaces
* -----------------------
*
- * To find interfaces, we create an iterator that abstracts out most
+ * To find interfaces, we create an iterator that abstracts out most
* of the platform specifics. Use is fairly straightforward:
*
* - begin_iface_scan() starts the process.
#endif
#if defined(SIOCGLIFCONF) && defined(SIOCGLIFFLAGS)
-/*
+/*
* Solaris support
* ---------------
*
* Solaris' extended interface is documented in the if_tcp man page.
*/
-/*
+/*
* Structure holding state about the scan.
*/
struct iface_conf_list {
int next; /* next interface to retrieve when iterating */
};
-/*
+/*
* Structure used to return information about a specific interface.
*/
struct iface_info {
isc_uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
};
-/*
+/*
* Start a scan of interfaces.
*
* The iface_conf_list structure maintains state for this process.
*/
-int
+int
begin_iface_scan(struct iface_conf_list *ifaces) {
#ifdef ISC_PLATFORM_HAVELIFNUM
struct lifnum lifnum;
/*
* Retrieve the next interface.
*
- * Returns information in the info structure.
+ * Returns information in the info structure.
* Sets err to 1 if there is an error, otherwise 0.
*/
int
foundif = ISC_TRUE;
} while ((foundif == ISC_FALSE) ||
(strncmp(info->name, "dummy", 5) == 0));
-
+
memset(&tmp, 0, sizeof(tmp));
strncpy(tmp.lifr_name, info->name, sizeof(tmp.lifr_name) - 1);
if (ioctl(ifaces->sock, SIOCGLIFFLAGS, &tmp) < 0) {
- log_error("Error getting interface flags for '%s'; %m",
+ log_error("Error getting interface flags for '%s'; %m",
p->lifr_name);
*err = 1;
return 0;
#else
-/*
+/*
* BSD/Linux support
* -----------
*
- * FreeBSD, NetBSD, OpenBSD, OS X/macOS and Linux all have the getifaddrs()
+ * FreeBSD, NetBSD, OpenBSD, OS X/macOS and Linux all have the getifaddrs()
* function.
*
* The getifaddrs() man page describes the use.
#include <ifaddrs.h>
-/*
+/*
* Structure holding state about the scan.
*/
struct iface_conf_list {
struct ifaddrs *next; /* current position in the list */
};
-/*
+/*
* Structure used to return information about a specific interface.
*/
struct iface_info {
isc_uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */
};
-/*
+/*
* Start a scan of interfaces.
*
* The iface_conf_list structure maintains state for this process.
*/
-int
+int
begin_iface_scan(struct iface_conf_list *ifaces) {
if (getifaddrs(&ifaces->head) != 0) {
log_error("Error getting interfaces; %m");
/*
* Retrieve the next interface.
*
- * Returns information in the info structure.
+ * Returns information in the info structure.
* Sets err to 1 if there is an error, otherwise 0.
*/
int
return 0;
}
if (strlen(ifaces->next->ifa_name) >= sizeof(info->name)) {
- log_error("Interface name '%s' too long",
+ log_error("Interface name '%s' too long",
ifaces->next->ifa_name);
*err = 1;
return 0;
ifaces->head = NULL;
ifaces->next = NULL;
}
-#endif
+#endif
/* XXX: perhaps create drealloc() rather than do it manually */
void
-add_ipv4_addr_to_interface(struct interface_info *iface,
+add_ipv4_addr_to_interface(struct interface_info *iface,
const struct in_addr *addr) {
/*
* We don't expect a lot of addresses per IPv4 interface, so
log_fatal("Out of memory saving IPv4 address "
"on interface.");
}
- memcpy(tmp,
- iface->addresses,
+ memcpy(tmp,
+ iface->addresses,
iface->address_max * sizeof(struct in_addr));
dfree(iface->addresses, MDL);
iface->addresses = tmp;
#ifdef DHCPv6
/* XXX: perhaps create drealloc() rather than do it manually */
void
-add_ipv6_addr_to_interface(struct interface_info *iface,
+add_ipv6_addr_to_interface(struct interface_info *iface,
const struct in6_addr *addr) {
/*
* Each IPv6 interface will have at least two IPv6 addresses,
log_fatal("Out of memory saving IPv6 address "
"on interface.");
}
- memcpy(tmp,
- iface->v6addresses,
+ memcpy(tmp,
+ iface->v6addresses,
iface->v6address_max * sizeof(struct in6_addr));
dfree(iface->v6addresses, MDL);
iface->v6addresses = tmp;
register that interface with the network I/O software, figure out what
subnet it's on, and add it to the list of interfaces. */
-void
+void
discover_interfaces(int state) {
struct iface_conf_list ifaces;
struct iface_info info;
(!(info.flags & IFF_UP) &&
state != DISCOVER_UNCONFIGURED))
continue;
-
+
/* If there isn't already an interface by this name,
allocate one. */
if (tmp == NULL) {
(*dhcp_interface_discovery_hook)(tmp);
}
- if ((info.addr.ss_family == AF_INET) &&
+ if ((info.addr.ss_family == AF_INET) &&
(local_family == AF_INET)) {
struct sockaddr_in *a = (struct sockaddr_in*)&info.addr;
struct iaddr addr;
}
}
#ifdef DHCPv6
- else if ((info.addr.ss_family == AF_INET6) &&
+ else if ((info.addr.ss_family == AF_INET6) &&
(local_family == AF_INET6)) {
- struct sockaddr_in6 *a =
+ struct sockaddr_in6 *a =
(struct sockaddr_in6*)&info.addr;
struct iaddr addr;
/* We don't want the loopback interface. */
- if (IN6_IS_ADDR_LOOPBACK(&a->sin6_addr) &&
+ if (IN6_IS_ADDR_LOOPBACK(&a->sin6_addr) &&
((tmp->flags & INTERFACE_AUTOMATIC) &&
((state == DISCOVER_SERVER) ||
(state == DISCOVER_SERVER46))))
log_error("%s", "");
if (local_family == AF_INET) {
log_error("No subnet declaration for %s (%s).",
- tmp->name,
+ tmp->name,
(tmp->addresses == NULL) ?
"no IPv4 addresses" :
inet_ntoa(tmp->addresses[0]));
#ifdef DHCPv6
} else {
if (tmp->v6addresses != NULL) {
- inet_ntop(AF_INET6,
+ inet_ntop(AF_INET6,
&tmp->v6addresses[0],
abuf,
sizeof(abuf));
} else if (tmp->v6address_count > 0) {
subnet->interface_address.len = 16;
memcpy(subnet->interface_address.iabuf,
- &tmp->v6addresses[0].s6_addr,
+ &tmp->v6addresses[0].s6_addr,
16);
} else {
/* XXX: should be one */
if (tmp -> rfdesc == -1)
continue;
switch (local_family) {
-#ifdef DHCPv6
+#ifdef DHCPv6
case AF_INET6:
#ifdef RELAY_PORT
#define UPSTREAM(ifp) \
}
#endif
status = omapi_register_io_object((omapi_object_t *)tmp,
- if_readsocket,
+ if_readsocket,
0, got_one_v6, 0, 0);
#ifdef RELAY_PORT
if (UPSTREAM(tmp))
case AF_INET:
default:
status = omapi_register_io_object((omapi_object_t *)tmp,
- if_readsocket,
+ if_readsocket,
0, got_one, 0, 0);
break;
}
/*
* If a packet is not multicast, we assume it is unicast.
*/
- if (IN6_IS_ADDR_MULTICAST(&to)) {
+ if (IN6_IS_ADDR_MULTICAST(&to)) {
is_unicast = ISC_FALSE;
} else {
is_unicast = ISC_TRUE;
if (ip == NULL)
return ISC_R_NOTFOUND;
- (*dhcpv6_packet_handler)(ip, buf,
- result, from.sin6_port,
+ (*dhcpv6_packet_handler)(ip, buf,
+ result, from.sin6_port,
&ifrom, is_unicast);
}
if (status == ISC_R_SUCCESS || status == DHCP_R_UNCHANGED)
return status;
}
-
+
return ISC_R_NOTFOUND;
}
{
struct interface_info *hp;
isc_result_t status;
-
+
hp = (struct interface_info *)0;
status = interface_allocate (&hp, MDL);
if (status != ISC_R_SUCCESS)
* to the timer and use that. The complications arise in trying to ensure
* that all of the corner cases are covered. The last one is potentially
* more painful and requires more investigation.
- *
+ *
* The plan is continue with the older DHCP calls and timer list. The
* calls will continue to manipulate the list but will also pass a
* timer to the ISC timer code for the actual dispatch. Later, if desired,
sec = when->tv_sec - cur_tv.tv_sec;
usec = when->tv_usec - cur_tv.tv_usec;
-
+
if ((when->tv_usec != 0) && (usec < 0)) {
sec--;
usec += USEC_MAX;
usec = USEC_MAX - 1;
}
- /*
+ /*
* This is necessary for the tracing code but we put it
* here in case we want to compare timing information
* for some reason, like debugging.
/* dlpi.c
-
+
Data Link Provider Interface (DLPI) network interface code. */
/*
/* These functions are not used if we're only sourcing the get_hw_addr()
* function (for USE_SOCKETS).
*/
-static int dlpiunitdatareq (int fd, unsigned char *addr, int addrlen,
- unsigned long minpri, unsigned long maxpri,
+static int dlpiunitdatareq (int fd, unsigned char *addr, int addrlen,
+ unsigned long minpri, unsigned long maxpri,
unsigned char *data, int datalen);
static int dlpiunitdataind (int fd,
unsigned char *dstaddr,
unsigned char *data,
int datalen);
#endif /* !USE_DLPI_HWADDR: USE_DLPI_SEND || USE_DLPI_RECEIVE */
-static int expected (unsigned long prim, union DL_primitives *dlp,
+static int expected (unsigned long prim, union DL_primitives *dlp,
int msgflags);
static int strgetmsg (int fd, struct strbuf *ctlp, struct strbuf *datap,
int *flagsp, char *caller);
}
/*
- * Submit a DL_INFO_REQ request, to find the dl_mac_type and
+ * Submit a DL_INFO_REQ request, to find the dl_mac_type and
* dl_provider_style
*/
if (dlpiinforeq(sock) < 0 || dlpiinfoack(sock, (char *)buf) < 0) {
case DL_ETHER:
info -> hw_address.hbuf [0] = HTYPE_ETHER;
break;
- /* adding token ring 5/1999 - mayer@ping.at */
+ /* adding token ring 5/1999 - mayer@ping.at */
case DL_TPR:
info -> hw_address.hbuf [0] = HTYPE_IEEE802;
break;
* assume -2 and ffffff.
*/
info -> dlpi_sap_length = dlp -> info_ack.dl_sap_length;
- info -> dlpi_broadcast_addr.hlen =
+ info -> dlpi_broadcast_addr.hlen =
dlp -> info_ack.dl_brdcst_addr_length;
- memcpy (info -> dlpi_broadcast_addr.hbuf,
- (char *)dlp + dlp -> info_ack.dl_brdcst_addr_offset,
+ memcpy (info -> dlpi_broadcast_addr.hbuf,
+ (char *)dlp + dlp -> info_ack.dl_brdcst_addr_offset,
dlp -> info_ack.dl_brdcst_addr_length);
}
* does not exist.
*/
unit = dlpiunit (info -> name);
-
+
if (dlpiattachreq (sock, unit) < 0
|| dlpiokack (sock, (char *)buf) < 0) {
log_fatal ("Can't attach DLPI device for %s: %m", info -> name);
#else
/*
- * Setup the destination address (DLSAP) in dstaddr
+ * Setup the destination address (DLSAP) in dstaddr
*
- * If sap_length < 0 we must deliver the DLSAP as phys+sap.
+ * If sap_length < 0 we must deliver the DLSAP as phys+sap.
* If sap_length > 0 we must deliver the DLSAP as sap+phys.
*
* sap = Service Access Point == ETHERTYPE_IP
if (hto && hto -> hlen == interface -> hw_address.hlen)
memcpy ( phys, (char *) &hto -> hbuf [1], phys_len);
- else
- memcpy ( phys, interface -> dlpi_broadcast_addr.hbuf,
+ else
+ memcpy ( phys, interface -> dlpi_broadcast_addr.hbuf,
interface -> dlpi_broadcast_addr.hlen);
- if (sap_len < 0) {
+ if (sap_len < 0) {
memcpy ( dstaddr, phys, phys_len);
memcpy ( (char *) &dstaddr [phys_len], sap, ABS (sap_len));
}
int offset = 0;
int bufix = 0;
unsigned paylen;
-
+
#ifdef USE_DLPI_RAW
length = read (interface -> rfdesc, dbuf, sizeof (dbuf));
-#else
+#else
length = dlpiunitdataind (interface -> rfdesc, (unsigned char *)NULL,
(unsigned long *)NULL, srcaddr, &srcaddrlen,
(unsigned long *)NULL, dbuf, sizeof (dbuf));
if (hfrom && (srcaddrlen == ABS (sap_len) + phys_len )) {
hfrom -> hbuf [0] = interface -> hw_address.hbuf [0];
hfrom -> hlen = interface -> hw_address.hlen;
-
+
if (sap_len < 0) {
memcpy ((char *) &hfrom -> hbuf [1], srcaddr, phys_len);
}
else {
memcpy((char *)&hfrom->hbuf[1], srcaddr + sap_len, phys_len);
}
- }
+ }
else if (hfrom) {
memset (hfrom, '\0', sizeof *hfrom);
}
* Based largely in part to the example code contained in the document
* "How to Use the STREAMS Data Link Provider Interface (DLPI)", written
* by Neal Nuckolls of SunSoft Internet Engineering.
- *
+ *
* This code has been developed and tested on sparc-based machines running
* SunOS 5.5.1, with le and hme network interfaces. It should be pretty
* generic, though.
- *
+ *
* The usual disclaimers apply. This code works for me. Don't blame me
* if it makes your machine or network go down in flames. That taken
* into consideration, use this code as you wish. If you make usefull
{
char *cp;
int unit;
-
+
if (!ifname) {
return 0;
}
-
+
/* Advance to the end of the name */
cp = ifname;
while (*cp) cp++;
/* Back up to the start of the first digit */
while ((*(cp-1) >= '0' && *(cp-1) <= '9') || *(cp - 1) == ':') cp--;
-
+
/* Convert the unit number */
unit = 0;
while (*cp >= '0' && *cp <= '9') {
unit *= 10;
unit += (*cp++ - '0');
}
-
+
return unit;
}
char devname [50];
char *dp;
const char *cp, *ep;
-
+
if (!ifname) {
return -1;
}
-
+
/* Open a DLPI device */
if (*ifname == '/') {
dp = devname;
while ((*(ep - 1) >= '0' && *(ep - 1) <= '9') || *(ep - 1) == ':')
ep--;
#endif
-
+
/* Copy everything up to the unit number */
while (cp < ep) {
*dp++ = *cp++;
}
*dp = '\0';
-
+
return open (devname, O_RDWR, 0);
}
dl_info_req_t info_req;
struct strbuf ctl;
int flags;
-
+
info_req.dl_primitive = DL_INFO_REQ;
-
+
ctl.maxlen = 0;
ctl.len = sizeof (info_req);
ctl.buf = (char *)&info_req;
-
+
flags = RS_HIPRI;
-
+
return putmsg (fd, &ctl, (struct strbuf *)NULL, flags);
}
dl_phys_addr_req_t physaddr_req;
struct strbuf ctl;
int flags;
-
+
physaddr_req.dl_primitive = DL_PHYS_ADDR_REQ;
physaddr_req.dl_addr_type = addrtype;
-
+
ctl.maxlen = 0;
ctl.len = sizeof (physaddr_req);
ctl.buf = (char *)&physaddr_req;
-
+
flags = RS_HIPRI;
-
+
return putmsg (fd, &ctl, (struct strbuf *)NULL, flags);
}
dl_attach_req_t attach_req;
struct strbuf ctl;
int flags;
-
+
attach_req.dl_primitive = DL_ATTACH_REQ;
attach_req.dl_ppa = ppa;
-
+
ctl.maxlen = 0;
ctl.len = sizeof (attach_req);
ctl.buf = (char *)&attach_req;
-
+
flags = 0;
-
+
return putmsg (fd, &ctl, (struct strbuf*)NULL, flags);
}
dl_bind_req_t bind_req;
struct strbuf ctl;
int flags;
-
+
bind_req.dl_primitive = DL_BIND_REQ;
bind_req.dl_sap = sap;
bind_req.dl_max_conind = max_conind;
bind_req.dl_service_mode = service_mode;
bind_req.dl_conn_mgmt = conn_mgmt;
bind_req.dl_xidtest_flg = xidtest;
-
+
ctl.maxlen = 0;
ctl.len = sizeof (bind_req);
ctl.buf = (char *)&bind_req;
-
+
flags = 0;
-
+
return putmsg (fd, &ctl, (struct strbuf*)NULL, flags);
}
dl_unbind_req_t unbind_req;
struct strbuf ctl;
int flags;
-
+
unbind_req.dl_primitive = DL_UNBIND_REQ;
-
+
ctl.maxlen = 0;
ctl.len = sizeof (unbind_req);
ctl.buf = (char *)&unbind_req;
-
+
flags = 0;
-
+
return putmsg (fd, &ctl, (struct strbuf*)NULL, flags);
}
dl_detach_req_t detach_req;
struct strbuf ctl;
int flags;
-
+
detach_req.dl_primitive = DL_DETACH_REQ;
-
+
ctl.maxlen = 0;
ctl.len = sizeof (detach_req);
ctl.buf = (char *)&detach_req;
-
+
flags = 0;
-
+
return putmsg (fd, &ctl, (struct strbuf*)NULL, flags);
}
#endif /* UNUSED_DLPI_INTERFACE */
union DL_primitives *dlp;
struct strbuf ctl;
int flags;
-
+
ctl.maxlen = DLPI_MAXDLBUF;
ctl.len = 0;
ctl.buf = bufp;
(struct strbuf*)NULL, &flags, "dlpibindack") < 0) {
return -1;
}
-
+
dlp = (union DL_primitives *)ctl.buf;
-
+
if (expected (DL_BIND_ACK, dlp, flags) == -1) {
return -1;
}
-
+
if (ctl.len < sizeof (dl_bind_ack_t)) {
/* Returned structure is too short */
return -1;
union DL_primitives *dlp;
struct strbuf ctl;
int flags;
-
+
ctl.maxlen = DLPI_MAXDLBUF;
ctl.len = 0;
ctl.buf = bufp;
-
+
if (strgetmsg (fd, &ctl,
(struct strbuf*)NULL, &flags, "dlpiokack") < 0) {
return -1;
}
-
+
dlp = (union DL_primitives *)ctl.buf;
-
+
if (expected (DL_OK_ACK, dlp, flags) == -1) {
return -1;
}
-
+
if (ctl.len < sizeof (dl_ok_ack_t)) {
/* Returned structure is too short */
return -1;
}
-
+
return 0;
}
union DL_primitives *dlp;
struct strbuf ctl;
int flags;
-
+
ctl.maxlen = DLPI_MAXDLBUF;
ctl.len = 0;
ctl.buf = bufp;
-
+
if (strgetmsg (fd, &ctl, (struct strbuf *)NULL, &flags,
"dlpiinfoack") < 0) {
return -1;
}
-
+
dlp = (union DL_primitives *) ctl.buf;
-
+
if (expected (DL_INFO_ACK, dlp, flags) == -1) {
return -1;
}
-
+
if (ctl.len < sizeof (dl_info_ack_t)) {
/* Returned structure is too short */
return -1;
}
-
+
return 0;
}
union DL_primitives *dlp;
struct strbuf ctl;
int flags;
-
+
ctl.maxlen = DLPI_MAXDLBUF;
ctl.len = 0;
ctl.buf = bufp;
-
+
if (strgetmsg (fd, &ctl, (struct strbuf *)NULL, &flags,
"dlpiphysaddrack") < 0) {
return -1;
}
dlp = (union DL_primitives *)ctl.buf;
-
+
if (expected (DL_PHYS_ADDR_ACK, dlp, flags) == -1) {
return -1;
}
/* Returned structure is too short */
return -1;
}
-
+
return 0;
}
long buf [DLPI_MAXDLBUF];
union DL_primitives *dlp;
struct strbuf ctl, data;
-
+
/* Set up the control information... */
dlp = (union DL_primitives *)buf;
dlp -> unitdata_req.dl_primitive = DL_UNITDATA_REQ;
/* Append the destination address */
memcpy ((char *)buf + dlp -> unitdata_req.dl_dest_addr_offset,
addr, addrlen);
-
+
ctl.maxlen = 0;
ctl.len = dlp -> unitdata_req.dl_dest_addr_offset + addrlen;
ctl.buf = (char *)buf;
/* Incorrect/unexpected return message */
return -1;
}
-
+
return 0;
}
time_t now;
time_t starttime;
int to_msec;
-
+
pfd.fd = fd;
pfd.events = POLLPRI; /* We're only interested in knowing
* when we can receive the next high
while (now <= starttime + DLPI_MAXWAIT) {
to_msec = ((starttime + DLPI_MAXWAIT) - now) * 1000;
count = poll (&pfd, 1, to_msec);
-
+
if (count == 0) {
/* log_fatal ("strgetmsg: timeout"); */
return -1;
}
#endif /* USE_DLPI_SEND */
-void
+void
get_hw_addr(const char *name, struct hardware *hw) {
int sock, unit;
long buf[DLPI_MAXDLBUF];
dlp = (union DL_primitives *)buf;
- /*
+ /*
* Open a DLPI device.
*/
sock = dlpiopen(name);
}
/*
- * Submit a DL_INFO_REQ request, to find the dl_mac_type and
+ * Submit a DL_INFO_REQ request, to find the dl_mac_type and
* dl_provider_style
*/
if (dlpiinforeq(sock) < 0) {
name);
}
if (dlp->physaddr_ack.dl_addr_length < sizeof(hw->hbuf)) {
- memcpy(hw->hbuf+1,
+ memcpy(hw->hbuf+1,
(char *)buf + dlp->physaddr_ack.dl_addr_offset,
dlp->physaddr_ack.dl_addr_length);
hw->hlen = dlp->physaddr_ack.dl_addr_length + 1;
} else {
- memcpy(hw->hbuf+1,
+ memcpy(hw->hbuf+1,
(char *)buf + dlp->physaddr_ack.dl_addr_offset,
sizeof(hw->hbuf)-1);
hw->hlen = sizeof(hw->hbuf);
(&rc, packet,
lease, client_state, in_options,
out_options, scope, r->data.ie.expr));
-
+
#if defined (DEBUG_EXPRESSIONS)
log_debug ("exec: if %s", (status
? (rc ? "true" : "false")
}
log_debug("execute_statement argv[0] = %s", argv[0]);
-
+
for (i = 1, expr = r->data.execute.arglist; expr;
expr = expr->data.arg.next, i++) {
memset (&ds, 0, sizeof(ds));
(&ds, packet,
lease, client_state, in_options,
out_options, scope, r->data.log.expr, MDL));
-
+
#if defined (DEBUG_EXPRESSIONS)
log_debug ("exec: log");
#endif
token_indent_data_string
(file, col, indent + 8, "", "",
&r -> data.option -> data);
-
+
fprintf (file, ";"); /* XXX */
break;
(void) token_print_indent (file, col, indent + 4,
" ", "", ";");
break;
-
+
case unset_statement:
indent_spaces (file, indent);
fprintf (file, "unset ");
"is not defined).", MDL);
#endif /* ENABLE_EXECUTE */
break;
-
+
case vendor_opt_statement:
indent_spaces (file, indent);
fprintf (file, "parse-vendor-option;");
{
struct fddi_header fh;
struct llc lh;
-
+
from -> hbuf [0] = HTYPE_FDDI;
memcpy (&from -> hbuf [1], fh.fddi_shost, sizeof fh.fddi_shost);
return FDDI_HEADER_SIZE + LLC_SNAP_LEN;
proto = getprotobyname ("icmp");
if (proto)
protocol = proto -> p_proto;
-
+
/* Get a raw socket for the ICMP protocol. */
icmp_state -> socket = socket (AF_INET, SOCK_RAW, protocol);
if (icmp_state -> socket < 0) {
} else
rv.iabuf [i + j] = habuf [i];
}
-
+
return rv;
}
return memcmp (addr1.iabuf, addr2.iabuf, addr1.len) == 0;
}
-/* addr_match
+/* addr_match
*
* compares an IP address against a network/mask combination
* by ANDing the IP with the mask and seeing whether the result
if (addr->len != match->addr.len)
return 0;
-
+
for (i = 0 ; i < addr->len ; i++) {
if ((addr->iabuf[i] & match->mask.iabuf[i]) !=
match->addr.iabuf[i])
return 1;
}
-/*
+/*
* Compares the addresses a1 and a2.
*
* If a1 < a2, returns -1.
*
* WARNING: if a1 and a2 differ in length, returns 0.
*/
-int
+int
addr_or(struct iaddr *result, const struct iaddr *a1, const struct iaddr *a2) {
int i;
int all_zero;
*
* WARNING: if a1 and a2 differ in length, returns 0.
*/
-int
+int
addr_and(struct iaddr *result, const struct iaddr *a1, const struct iaddr *a2) {
int i;
int all_zero;
zero_bits = (addr->len * 8) - bits;
zero_bytes = zero_bits / 8;
- /*
+ /*
* Check to make sure the low-order bytes are zero.
*/
for (i=1; i<=zero_bytes; i++) {
}
}
- /*
- * Look to see if any bits not in right-hand bytes are
- * non-zero, by making a byte that has these bits set to zero
- * comparing to the original byte. If these two values are
- * equal, then the right-hand bits are zero, and we are
+ /*
+ * Look to see if any bits not in right-hand bytes are
+ * non-zero, by making a byte that has these bits set to zero
+ * comparing to the original byte. If these two values are
+ * equal, then the right-hand bits are zero, and we are
* happy.
*/
shift_bits = zero_bits % 8;
*
* Converts a range of IP addresses to a set of CIDR networks.
*
- * Examples:
+ * Examples:
* 192.168.0.0 - 192.168.0.255 = 192.168.0.0/24
* 10.0.0.0 - 10.0.1.127 = 10.0.0.0/24, 10.0.1.0/25
* 255.255.255.32 - 255.255.255.255 = 255.255.255.32/27, 255.255.255.64/26,
* 255.255.255.128/25
*/
-isc_result_t
-range2cidr(struct iaddrcidrnetlist **result,
+isc_result_t
+range2cidr(struct iaddrcidrnetlist **result,
const struct iaddr *lo, const struct iaddr *hi) {
struct iaddr addr;
struct iaddr mask;
* Start at the low end, and keep trying larger networks
* until we get one that is too big (explained below).
*
- * We keep a "mask", which is the ones-complement of a
+ * We keep a "mask", which is the ones-complement of a
* normal netmask. So, a /23 has a netmask of 255.255.254.0,
* and a mask of 0.0.1.255.
*
- * We know when a network is too big when we bitwise-AND the
- * mask with the starting address and we get a non-zero
+ * We know when a network is too big when we bitwise-AND the
+ * mask with the starting address and we get a non-zero
* result, like this:
*
* addr: 192.168.1.0, mask: 0.0.1.255
* bitwise-AND: 0.0.1.0
- *
+ *
* A network is also too big if the bitwise-OR of the mask
* with the starting address is larger than the end address,
* like this:
*
* start: 192.168.1.0, mask: 0.0.1.255, end: 192.168.0.255
- * bitwise-OR: 192.168.1.255
+ * bitwise-OR: 192.168.1.255
*
* -------------------
- * Once we have found a network that is too big, we add the
+ * Once we have found a network that is too big, we add the
* appropriate CIDR network to our list of found networks.
*
* We then use the next IP address as our low address, and
- * begin the process of searching for a network that is
+ * begin the process of searching for a network that is
* too big again, starting with an empty mask.
*/
addr = *lo;
mask.iabuf[ofs] |= val;
}
- /*
+ /*
* See if we're too big, and save this network if so.
*/
addr_or(&end_addr, &addr, &mask);
if ((ofs < 0) ||
- (addr_cmp(&end_addr, hi) > 0) ||
+ (addr_cmp(&end_addr, hi) > 0) ||
addr_and(&dummy, &addr, &mask)) {
/*
* Add a new prefix to our list.
net->next = *result;
*result = net;
- /*
- * Figure out our new starting address,
+ /*
+ * Figure out our new starting address,
* by adding (1 << bit) to our previous
* starting address.
*/
}
if (addr.len == 4) {
return inet_ntop(AF_INET, addr.iabuf, pbuf, sizeof(pbuf));
- }
+ }
if (addr.len == 16) {
return inet_ntop(AF_INET6, addr.iabuf, pbuf, sizeof(pbuf));
}
errno = 0;
local_port = strtol(port, &endptr, 10);
-
+
if ((*endptr != '\0') || (errno == ERANGE) || (errno == EINVAL))
log_fatal ("Invalid port number specification: %s", port);
errno = 0;
local_port = strtol(port, &endptr, 10);
-
+
if ((*endptr != '\0') || (errno == ERANGE) || (errno == EINVAL))
log_fatal ("Invalid port pair specification: %s", port);
/* Patch the server port into the LPF program...
XXX changes to filter program may require changes
XXX to the insn number(s) used below!
- XXX Token ring filter is null - when/if we have a filter
+ XXX Token ring filter is null - when/if we have a filter
XXX that's not, we'll need this code.
XXX dhcp_bpf_filter [?].k = ntohs (local_port); */
memset(&tmp, 0, sizeof(tmp));
strcpy(tmp.ifr_name, name);
if (ioctl(sock, SIOCGIFHWADDR, &tmp) < 0) {
- log_fatal("Error getting hardware address for \"%s\": %m",
+ log_fatal("Error getting hardware address for \"%s\": %m",
name);
}
*lpp = NULL;
errno = EMSGSIZE;
return (-1);
- }
+ }
return (dstp - dst);
}
{
u_char tmp[NS_MAXCDNAME];
int n;
-
+
if ((n = MRns_name_unpack(msg, eom, src, tmp, sizeof tmp)) == -1)
return (-1);
if (MRns_name_ntop(tmp, dst, dstsiz) == -1)
}
hunksize += k;
break;
-
+
case 't':
case 'k':
fmtbuf[l + 1] = 0;
/* Add carry. */
if (sum > 0xFFFF)
sum -= 0xFFFF;
- }
+ }
/* If there's a single byte left over, checksum it, too. Network
byte order is big-endian, so the remaining byte is the high byte. */
if (sum > 0xFFFF)
sum -= 0xFFFF;
}
-
+
return sum;
}
#ifdef DEBUG_CHECKSUM_VERBOSE
log_debug ("sum = %x", sum);
#endif
-
+
#ifdef DEBUG_CHECKSUM
log_debug ("wrapsum returns %x", htons (sum));
#endif
ip.ip_sum = 0;
ip.ip_src.s_addr = from;
ip.ip_dst.s_addr = to;
-
+
/* Checksum the IP header... */
ip.ip_sum = wrapsum (checksum ((unsigned char *)&ip, sizeof ip, 0));
-
+
/* Copy the ip header into the buffer... */
memcpy (&buf [*bufix], &ip, sizeof ip);
*bufix += sizeof ip;
udp.uh_sum =
wrapsum (checksum ((unsigned char *)&udp, sizeof udp,
- checksum (data, len,
+ checksum (data, len,
checksum ((unsigned char *)
&ip.ip_src,
2 * sizeof ip.ip_src,
statement foo bar { }
statement foo bar { statement { } }
statement}
-
+
...et cetera. */
void skip_to_rbrace (cfile, brace_count)
struct parse *cfile;
char *t;
pair c = (pair)0;
int ltid = 0;
-
+
/* Read a dotted hostname... */
do {
/* Read a token, which should be an identifier. */
/* ip-addr-or-hostname :== ip-address | hostname
ip-address :== NUMBER DOT NUMBER DOT NUMBER DOT NUMBER
-
+
Parse an ip address or a hostname. If uniform is zero, put in
an expr_substring node to limit hostnames that evaluate to more
than one IP address.
}
return 1;
-}
-
+}
+
/*
* ip-address :== NUMBER DOT NUMBER DOT NUMBER DOT NUMBER
*/
&addr -> len, DOT, 10, 8))
return 1;
return 0;
-}
+}
/*
* Return true if every character in the string is hexadecimal.
*
* See section 2.2 of RFC 1884 for details.
*
- * We are lazy for this. We pull numbers, names, colons, and dots
+ * We are lazy for this. We pull numbers, names, colons, and dots
* together and then throw the resulting string at the inet_pton()
* function.
*/
int v6_len;
/*
- * First token is non-raw. This way we eat any whitespace before
+ * First token is non-raw. This way we eat any whitespace before
* our IPv6 address begins, like one would expect.
*/
token = peek_token(&val, NULL, cfile);
}
/*
- * Same as parse_ip6_addr() above, but returns the value in the
+ * Same as parse_ip6_addr() above, but returns the value in the
* expression rather than in an address structure.
*/
int
-parse_ip6_addr_expr(struct expression **expr,
+parse_ip6_addr_expr(struct expression **expr,
struct parse *cfile) {
struct iaddr addr;
match->mask.iabuf[fflen] =
"\x00\x80\xc0\xe0\xf0\xf8\xfc\xfe"[prefixlen % 8];
- memset(match->mask.iabuf+fflen+1, 0x00,
+ memset(match->mask.iabuf+fflen+1, 0x00,
match->mask.len - fflen - 1);
/* AND-out insignificant bits from supplied netmask. */
parse_warn(cfile,
"expecting ip-address or ip-address/prefixlen");
- return 0; /* let caller pick up pieces */
+ return 0; /* let caller pick up pieces */
}
/*
(sizeof(hardware->hbuf)) - hlen - 1);
dfree(t, MDL);
}
-
+
out:
token = next_token(&val, NULL, cfile);
if (token != SEMI) {
}
/*
- * date :== NUMBER NUMBER SLASH NUMBER SLASH NUMBER
+ * date :== NUMBER NUMBER SLASH NUMBER SLASH NUMBER
* NUMBER COLON NUMBER COLON NUMBER |
- * NUMBER NUMBER SLASH NUMBER SLASH NUMBER
+ * NUMBER NUMBER SLASH NUMBER SLASH NUMBER
* NUMBER COLON NUMBER COLON NUMBER NUMBER |
* EPOCH NUMBER |
* NEVER
* just parse the date
* any trailing semi must be consumed by the caller of this routine
*/
-TIME
+TIME
parse_date_core(cfile)
struct parse *cfile;
{
parse_warn(cfile, "numeric month expected.");
return((TIME)0);
}
- skip_token(&val, NULL, cfile); /* consume month */
+ skip_token(&val, NULL, cfile); /* consume month */
mon = atoi(val) - 1;
/* Slash separating month from day... */
* :== date semi
*/
-TIME
+TIME
parse_date(cfile)
struct parse *cfile;
{
char *s;
int has_encapsulation = 0;
struct universe *encapsulated;
-
+
/* Parse the option code. */
token = next_token (&val, (unsigned *)0, cfile);
if (token != NUMBER) {
/* INSIST(tokbuf[0] == 'E'); */
/* INSIST(encapsulated != NULL); */
if (!option_code_hash_lookup(&encapsulated->enc_opt,
- option->universe->code_hash,
+ option->universe->code_hash,
&option->code, 0, MDL)) {
log_fatal("error finding encapsulated option (%s:%d)",
MDL);
int cc = 0;
int terminated = 0;
int valid_base64;
-
+
/* It's possible for a + or a / to cause a base64 quantity to be
tokenized into more than one token, so we have to parse them all
in before decoding. */
data->data = NULL;
goto out;
}
-
+
j = k = 0;
for (t = bufs; t; t = t->next) {
for (i = 0; t->string[i]; i++) {
data->buffer->data[j++] = (acc >> 4);
acc = acc & 0x0f;
break;
-
+
case 2:
data->buffer->data[j++] = (acc >> 2);
acc = acc & 0x03;
dfree (sl, MDL);
sl = next;
}
-
+
memcpy (rvp, ibuf, ilen);
return 1;
}
case ON:
skip_token(&val, (unsigned *)0, cfile);
return parse_on_statement (result, cfile, lose);
-
+
case SWITCH:
skip_token(&val, (unsigned *)0, cfile);
return parse_switch_statement (result, cfile, lose);
if (case_context == context_any) {
parse_warn (cfile, "switch default statement in %s",
"inappropriate scope.");
-
+
*lose = 1;
return 0;
} else {
(*result) -> op = default_statement;
return 1;
}
-
+
case DEFINE:
case TOKEN_SET:
skip_token(&val, (unsigned *)0, cfile);
}
dns_zone_dereference (&zone, MDL);
return 1;
-
+
/* Also not really a statement, but same idea as above. */
case KEY:
skip_token(&val, (unsigned *)0, cfile);
log_fatal ("can't allocate primary option cache.");
oc = zone -> primary;
goto consemup;
-
+
case SECONDARY:
if (zone -> secondary) {
parse_warn (cfile, "more than one secondary.");
if (!parse_semi(cfile))
return (0);
break;
-
+
default:
done = 1;
break;
case EXPIRY:
(*result) -> data.on.evtypes |= ON_EXPIRY;
break;
-
+
case COMMIT:
(*result) -> data.on.evtypes |= ON_COMMIT;
break;
-
+
case RELEASE:
(*result) -> data.on.evtypes |= ON_RELEASE;
break;
-
+
case TRANSMISSION:
(*result) -> data.on.evtypes |= ON_TRANSMISSION;
break;
}
token = next_token (&val, (unsigned *)0, cfile);
} while (token == OR);
-
+
/* Semicolon means no statements. */
if (token == SEMI)
return 1;
}
} else
(*result) -> data.ie.fc = (struct executable_statement *)0;
-
+
return 1;
}
* boolean-expression OR boolean-expression
* EXISTS OPTION-NAME
*/
-
+
int parse_boolean_expression (expr, cfile, lose)
struct expression **expr;
struct parse *cfile;
* data_expression :== SUBSTRING LPAREN data-expression COMMA
* numeric-expression COMMA
* numeric-expression RPAREN |
- * CONCAT LPAREN data-expression COMMA
+ * CONCAT LPAREN data-expression COMMA
* data-expression RPAREN
* SUFFIX LPAREN data_expression COMMA
* numeric-expression RPAREN |
if (token != RPAREN)
goto norparen;
break;
-
+
case STRING:
skip_token(&val, &len, cfile);
if (!make_const_data (expr, (const unsigned char *)val,
break;
case EXTRACT_INT:
- skip_token(&val, (unsigned *)0, cfile);
+ skip_token(&val, (unsigned *)0, cfile);
token = next_token (&val, (unsigned *)0, cfile);
if (token != LPAREN) {
parse_warn (cfile, "left parenthesis expected.");
return 0;
}
break;
-
+
case ENCODE_INT:
- skip_token(&val, (unsigned *)0, cfile);
+ skip_token(&val, (unsigned *)0, cfile);
token = next_token (&val, (unsigned *)0, cfile);
if (token != LPAREN) {
parse_warn (cfile, "left parenthesis expected.");
return 0;
}
break;
-
+
case NUMBER:
/* If we're in a numeric context, this should just be a
number, by itself. */
(*expr) -> op = expr_const_int;
(*expr) -> data.const_int = known;
break;
-
+
case NS_NOERROR:
known = ISC_R_SUCCESS;
goto ns_const;
tmp = (struct expression *)0;
if (!expression_allocate (&tmp, MDL))
log_fatal ("No memory for equal precedence combination.");
-
+
/* Store the LHS and RHS. */
tmp -> data.equal [0] = lhs;
tmp -> data.equal [1] = rhs;
tmp -> op = binop;
-
+
lhs = tmp;
tmp = (struct expression *)0;
rhs = (struct expression *)0;
binop = next_op;
goto new_rhs;
-}
+}
int parse_option_data (expr, cfile, lookups, option)
fmt = option->format;
/* 'a' means always uniform */
- if ((fmt[0] != 'Z') && (tolower((unsigned char)fmt[1]) == 'a'))
+ if ((fmt[0] != 'Z') && (tolower((unsigned char)fmt[1]) == 'a'))
uniform = 1;
do {
if ((token == SEMI) && (option->format[0] != 'Z')) {
/* Eat the semicolon... */
/*
- * XXXSK: I'm not sure why we should ever get here, but we
+ * XXXSK: I'm not sure why we should ever get here, but we
* do during our startup. This confuses things if
* we are parsing a zero-length option, so don't
* eat the semicolon token in that case.
}
break;
- case 'k': /* key name */
+ case 'k': /* key name */
token = peek_token (&val, &len, cfile);
if (token == STRING) {
token = next_token (&val, &len, cfile);
return 0;
}
break;
-
+
case 'T': /* Lease interval. */
token = next_token (&val, (unsigned *)0, cfile);
if (token != INFINITE)
}
buf[0] = '\0';
if (!make_const_data(&t, /* expression */
- buf, /* buffer */
- 0, /* length */
- 0, /* terminated */
- 1, /* allocate */
- MDL))
+ buf, /* buffer */
+ 0, /* length */
+ 0, /* terminated */
+ 1, /* allocate */
+ MDL))
return 0;
break;
sizeof hunkbuf - hunkix);
hunkix += len;
break;
-
+
case 't': /* Text string... */
token = peek_token (&val,
&len, cfile);
if (!buffer_allocate (&bp, hunkix + nul_term, MDL))
log_fatal ("no memory to store option declaration.");
memcpy (bp -> data, hunkbuf, hunkix + nul_term);
-
+
if (!option_cache_allocate (oc, MDL))
log_fatal ("out of memory allocating option cache.");
}
if (st.st_mtime > rcdate) {
rcdate = cur_time + 1;
-
+
read_resolv_conf (rcdate);
}
}
* This sockopt allows a socket to be bound to a particular interface,
* thus enabling the use of DHCPD on a multihomed host.
* If SO_BINDTODEVICE is defined in your system header files, the use of
- * this sockopt will be automatically enabled.
+ * this sockopt will be automatically enabled.
* I have implemented it under Linux; other systems should be doable also.
*/
once = 1;
#endif
- /*
+ /*
* Set up the address we're going to bind to, depending on the
- * address family.
- */
+ * address family.
+ */
memset(&name, 0, sizeof(name));
switch (family) {
#ifdef DHCPv6
case AF_INET6:
- addr6 = (struct sockaddr_in6 *)&name;
+ addr6 = (struct sockaddr_in6 *)&name;
addr6->sin6_family = AF_INET6;
addr6->sin6_port = local_port;
#if defined(RELAY_PORT)
case AF_INET:
default:
- addr = (struct sockaddr_in *)&name;
+ addr = (struct sockaddr_in *)&name;
addr->sin_family = AF_INET;
addr->sin_port = relay_port ? relay_port : local_port;
memcpy(&addr->sin_addr,
*/
if (family == AF_INET) {
int on = 1;
- if (setsockopt(sock, IPPROTO_IP, IP_RECVPKTINFO,
+ if (setsockopt(sock, IPPROTO_IP, IP_RECVPKTINFO,
&on, sizeof(on)) != 0) {
log_fatal("Can't set IP_RECVPTKINFO on dhcp socket for"
" %s: %m", info->name);
#ifdef DHCPv6
/*
- * If we turn on IPV6_PKTINFO, we will be able to receive
+ * If we turn on IPV6_PKTINFO, we will be able to receive
* additional information, such as the destination IP address.
* We need this to spot unicast packets.
*/
int on = 1;
#ifdef IPV6_RECVPKTINFO
/* RFC3542 */
- if (setsockopt(sock, IPPROTO_IPV6, IPV6_RECVPKTINFO,
+ if (setsockopt(sock, IPPROTO_IPV6, IPV6_RECVPKTINFO,
&on, sizeof(on)) != 0) {
log_fatal("setsockopt: IPV6_RECVPKTINFO for %s: %m",
info->name);
}
#else
/* RFC2292 */
- if (setsockopt(sock, IPPROTO_IPV6, IPV6_PKTINFO,
+ if (setsockopt(sock, IPPROTO_IPV6, IPV6_PKTINFO,
&on, sizeof(on)) != 0) {
log_fatal("setsockopt: IPV6_PKTINFO for %s: %m",
info->name);
MDL);
}
}
-
+
info->rfdesc = global_v4_socket;
global_v4_socket_references++;
#else
#endif /* USE_SOCKET_RECEIVE */
-#ifdef DHCPv6
+#ifdef DHCPv6
/*
* This function joins the interface to DHCPv6 multicast groups so we will
* receive multicast messages.
if (inet_pton(AF_INET6, All_DHCP_Relay_Agents_and_Servers,
&mreq.ipv6mr_multiaddr) <= 0) {
- log_fatal("inet_pton: unable to convert '%s'",
+ log_fatal("inet_pton: unable to convert '%s'",
All_DHCP_Relay_Agents_and_Servers);
}
mreq.ipv6mr_interface = if_nametoindex(info->name);
- if (setsockopt(sock, IPPROTO_IPV6, IPV6_JOIN_GROUP,
+ if (setsockopt(sock, IPPROTO_IPV6, IPV6_JOIN_GROUP,
&mreq, sizeof(mreq)) < 0) {
log_fatal("setsockopt: IPV6_JOIN_GROUP for %s: %m",
info->name);
if ((info->flags & INTERFACE_STREAMS) == 0) {
if (inet_pton(AF_INET6, All_DHCP_Servers,
&mreq.ipv6mr_multiaddr) <= 0) {
- log_fatal("inet_pton: unable to convert '%s'",
+ log_fatal("inet_pton: unable to convert '%s'",
All_DHCP_Servers);
}
mreq.ipv6mr_interface = if_nametoindex(info->name);
- if (setsockopt(sock, IPPROTO_IPV6, IPV6_JOIN_GROUP,
+ if (setsockopt(sock, IPPROTO_IPV6, IPV6_JOIN_GROUP,
&mreq, sizeof(mreq)) < 0) {
log_fatal("setsockopt: IPV6_JOIN_GROUP for %s: %m",
info->name);
log_info("Bound to *:%d", (int) ntohs(local_port));
}
}
-
+
info->rfdesc = global_v6_socket;
info->wfdesc = global_v6_socket;
global_v6_socket_references++;
if (!quiet_interface_discovery) {
if (info->shared_network != NULL) {
log_info("Listening on Socket/%d/%s/%s",
- global_v6_socket, info->name,
+ global_v6_socket, info->name,
info->shared_network->name);
log_info("Sending on Socket/%d/%s/%s",
global_v6_socket, info->name,
if (global_v6_socket >= 0) {
log_fatal("Impossible condition at %s:%d", MDL);
}
-
+
no_global_v6_socket = 1;
/* get the (?) link-local address */
if (!quiet_interface_discovery) {
if (info->shared_network != NULL) {
log_info("Listening on Socket/%d/%s/%s",
- global_v6_socket, info->name,
+ global_v6_socket, info->name,
info->shared_network->name);
log_info("Sending on Socket/%d/%s/%s",
global_v6_socket, info->name,
}
}
-void
+void
if_deregister6(struct interface_info *info) {
/* client case */
if (no_global_v6_socket) {
pktinfo.ipi_ifindex = interface->ifp->ifr_index;
if (setsockopt(interface->wfdesc, IPPROTO_IP,
IP_PKTINFO, (char *)&pktinfo,
- sizeof(pktinfo)) < 0)
+ sizeof(pktinfo)) < 0)
log_fatal("setsockopt: IP_PKTINFO for %s: %m",
(char*)(interface->ifp));
}
#ifdef DHCPv6
/*
- * Solaris 9 is missing the CMSG_LEN and CMSG_SPACE macros, so we will
+ * Solaris 9 is missing the CMSG_LEN and CMSG_SPACE macros, so we will
* synthesize them (based on the BIND 9 technique).
*/
#endif /* DHCPv6, IP_PKTINFO ... */
#ifdef DHCPv6
-/*
- * For both send_packet6() and receive_packet6() we need to use the
+/*
+ * For both send_packet6() and receive_packet6() we need to use the
* sendmsg()/recvmsg() functions rather than the simpler send()/recv()
* functions.
*
* In the case of send_packet6(), we need to do this in order to insure
- * that the reply packet leaves on the same interface that it arrived
- * on.
+ * that the reply packet leaves on the same interface that it arrived
+ * on.
*
- * In the case of receive_packet6(), we need to do this in order to
+ * In the case of receive_packet6(), we need to do this in order to
* get the IP address the packet was sent to. This is used to identify
* whether a packet is multicast or unicast.
*
dst.sin6_scope_id = ifindex;
/*
- * Set the data buffer we're sending. (Using this wacky
- * "scatter-gather" stuff... we only have a single chunk
+ * Set the data buffer we're sending. (Using this wacky
+ * "scatter-gather" stuff... we only have a single chunk
* of data to send, so we declare a single vector entry.)
*/
v.iov_base = (char *)raw;
/*
* Setting the interface is a bit more involved.
- *
- * We have to create a "control message", and set that to
+ *
+ * We have to create a "control message", and set that to
* define the IPv6 packet information. We could set the
* source address if we wanted, but we can safely let the
- * kernel decide what that should be.
+ * kernel decide what that should be.
*/
m.msg_control = control_buf;
m.msg_controllen = control_buf_len;
m.msg_namelen = sizeof(*from);
/*
- * Set the data buffer we're receiving. (Using this wacky
+ * Set the data buffer we're receiving. (Using this wacky
* "scatter-gather" stuff... but we that doesn't really make
* sense for us, so we use a single vector entry.)
*/
/*
* Getting the interface is a bit more involved.
*
- * We set up some space for a "control message". We have
- * previously asked the kernel to give us packet
+ * We set up some space for a "control message". We have
+ * previously asked the kernel to give us packet
* information (when we initialized the interface), so we
* should get the interface index from that.
*/
if (result >= 0) {
/*
* If we did read successfully, then we need to loop
- * through the control messages we received and
+ * through the control messages we received and
* find the one with our inteface index.
*/
cmsg = CMSG_FIRSTHDR(&m);
while (cmsg != NULL) {
- if ((cmsg->cmsg_level == IPPROTO_IP) &&
+ if ((cmsg->cmsg_level == IPPROTO_IP) &&
(cmsg->cmsg_type == IP_PKTINFO)) {
pktinfo = (struct in_pktinfo *)CMSG_DATA(cmsg);
ifindex = pktinfo->ipi_ifindex;
/*
- * We pass the ifindex back to the caller
+ * We pass the ifindex back to the caller
* using the unused hfrom parameter avoiding
- * interface changes between sockets and
+ * interface changes between sockets and
* the discover code.
*/
memcpy(hfrom->hbuf, &ifindex, sizeof(ifindex));
#endif /* USE_SOCKET_RECEIVE */
#ifdef DHCPv6
-ssize_t
-receive_packet6(struct interface_info *interface,
- unsigned char *buf, size_t len,
+ssize_t
+receive_packet6(struct interface_info *interface,
+ unsigned char *buf, size_t len,
struct sockaddr_in6 *from, struct in6_addr *to_addr,
unsigned int *if_idx)
{
m.msg_namelen = sizeof(*from);
/*
- * Set the data buffer we're receiving. (Using this wacky
+ * Set the data buffer we're receiving. (Using this wacky
* "scatter-gather" stuff... but we that doesn't really make
* sense for us, so we use a single vector entry.)
*/
/*
* Getting the interface is a bit more involved.
*
- * We set up some space for a "control message". We have
- * previously asked the kernel to give us packet
+ * We set up some space for a "control message". We have
+ * previously asked the kernel to give us packet
* information (when we initialized the interface), so we
* should get the destination address from that.
*/
if (result >= 0) {
/*
* If we did read successfully, then we need to loop
- * through the control messages we received and
+ * through the control messages we received and
* find the one with our destination address.
*/
cmsg = CMSG_FIRSTHDR(&m);
while (cmsg != NULL) {
- if ((cmsg->cmsg_level == IPPROTO_IPV6) &&
+ if ((cmsg->cmsg_level == IPPROTO_IPV6) &&
(cmsg->cmsg_type == IPV6_PKTINFO)) {
pktinfo = (struct in6_pktinfo *)CMSG_DATA(cmsg);
*to_addr = pktinfo->ipi6_addr;
(fbi -> shared_network ? "/" : ""),
(fbi -> shared_network ?
fbi -> shared_network -> name : ""));
-
+
status = omapi_register_io_object ((omapi_object_t *)fbi,
if_readsocket, 0,
fallback_discard, 0, 0);
named enumeration. Named enumerations are tracked in parse.c.
d - Domain name (e.g., FOO or FOO.BAR) no quotes,
on-wire format is RFC 1035.
- D - Domain list (e.g., "example.com eng.example.com") quoted,
+ D - Domain list (e.g., "example.com eng.example.com") quoted,
on-wire format is RFC 1035.
c - When following a 'D' atom, enables compression pointers.
Z - Zero-length option
&& llc->protid[1] == 0
&& llc->protid[2] == 0) {
/* say there is source routing information present */
- trh->saddr[0] |= TR_RII;
+ trh->saddr[0] |= TR_RII;
}
if (trh->saddr[0] & TR_RII)
/* single route broadcasts as per rfc 1042 */
if (memcmp(trh->daddr, tr_broadcast,TR_ALEN) == 0) {
trh->saddr[0] |= TR_RII;
- trh->rcf = ((sizeof(trh->rcf)) << 8) & TR_RCF_LEN_MASK;
+ trh->rcf = ((sizeof(trh->rcf)) << 8) & TR_RCF_LEN_MASK;
trh->rcf |= (TR_RCF_FRAME2K | TR_RCF_LIMITED_BROADCAST);
trh->rcf = htons(trh->rcf);
} else {
if ((rover->rcf & TR_RCF_LEN_MASK) >> 8) {
u_int16_t rcf = rover->rcf;
memcpy(trh->rseg,rover->rseg,sizeof(trh->rseg));
- rcf ^= TR_RCF_DIR_BIT;
+ rcf ^= TR_RCF_DIR_BIT;
rcf &= ~TR_RCF_BROADCAST_MASK;
trh->rcf = htons(rcf);
trh->saddr[0] |= TR_RII;
/* we don't have any routing information so send a
* limited broadcast */
trh->saddr[0] |= TR_RII;
- trh->rcf = ((sizeof(trh->rcf)) << 8) & TR_RCF_LEN_MASK;
+ trh->rcf = ((sizeof(trh->rcf)) << 8) & TR_RCF_LEN_MASK;
trh->rcf |= (TR_RCF_FRAME2K | TR_RCF_LIMITED_BROADCAST);
trh->rcf = htons(trh->rcf);
}
#define DS_SPRINTF_SIZE 128
/*
- * If we are using a data_string structure to hold a NUL-terminated
- * ASCII string, this function can be used to append a printf-formatted
+ * If we are using a data_string structure to hold a NUL-terminated
+ * ASCII string, this function can be used to append a printf-formatted
* string to the end of it. The data_string structure will be resized to
* be big enough to hold the new string.
*
* If the append works, then 1 is returned.
*
- * If it is not possible to allocate a buffer big enough to hold the
+ * If it is not possible to allocate a buffer big enough to hold the
* new value, then the old data_string is unchanged, and 0 is returned.
*/
int
cur_strlen = strlen((char *)ds->data);
max = ds->len - cur_strlen;
- /*
+ /*
* Use vsnprintf(), which won't write past our space, but will
* tell us how much space it wants.
*/
* If our buffer is not big enough, we need a new buffer.
*/
if (vsnprintf_ret >= max) {
- /*
+ /*
* Figure out a size big enough.
*/
new_len = ds->len * 2;
new_len *= 2;
}
- /*
+ /*
* Create a new buffer and fill it.
*/
tmp_buffer = NULL;
if (!buffer_allocate(&tmp_buffer, new_len, MDL)) {
- /*
- * If we can't create a big enough buffer,
+ /*
+ * If we can't create a big enough buffer,
* we should remove any truncated output that we had.
*/
*((char *)ds->data+cur_strlen) = '\0';
&nt -> data.const_data.buffer -> data [0];
memcpy (nt -> data.const_data.buffer -> data,
data, len + terminated);
- } else
+ } else
nt -> data.const_data.data = data;
nt -> data.const_data.terminated = terminated;
} else
expression_reference (expr, left, MDL);
return 1;
}
-
+
/* Otherwise, allocate a new node to concatenate the two. */
if (!expression_allocate (expr, MDL)) {
log_error ("No memory for concatenation expression node.");
return 0;
}
-
+
(*expr) -> op = expr_concat;
expression_reference (&(*expr) -> data.concat [0], left, MDL);
expression_reference (&(*expr) -> data.concat [1], right, MDL);
log_error ("No memory for encapsulation expression node.");
return 0;
}
-
+
(*expr) -> op = expr_encapsulate;
data_string_copy (&(*expr) -> data.encapsulate, name, MDL);
return 1;
{
if (!(executable_statement_allocate (result, MDL)))
return 0;
-
+
(*result) -> op = let_statement;
(*result) -> data.let.name = dmalloc (strlen (name) + 1, MDL);
if (!(*result) -> data.let.name) {
strcpy ((*result) -> data.let.name, name);
return 1;
}
-
+
static int do_host_lookup (result, dns)
struct data_string *result;
struct dns_host_entry *dns;
/* Count the number of addresses we got... */
for (count = 0; h -> h_addr_list [count]; count++)
;
-
+
/* Dereference the old data, if any. */
data_string_forget (&dns -> data, MDL);
result -> data, 20));
#endif
return s0;
-
-
+
+
case expr_encode_int16:
s0 = evaluate_numeric_expression (&len, packet, lease,
client_state,
memchr (packet -> raw -> sname, 0,
sizeof packet -> raw -> sname);
if (!fn)
- fn = ((char *)packet -> raw -> sname +
+ fn = ((char *)packet -> raw -> sname +
sizeof packet -> raw -> sname);
result -> len = fn - &packet -> raw -> sname [0];
if (buffer_allocate (&result -> buffer,
/* no number or an obviously invalid number */
if ((s0 == 0) ||
- ((len > 0) &&
+ ((len > 0) &&
((packet == NULL) ||
(packet->dhcpv6_container_packet == NULL)))) {
#if defined (DEBUG_EXPRESSIONS)
i = len;
relay_packet = packet;
relay_options = in_options;
- while ((i != 0) &&
+ while ((i != 0) &&
(relay_packet->dhcpv6_container_packet != NULL)) {
relay_packet = relay_packet->dhcpv6_container_packet;
relay_options = relay_packet->options;
log_error ("Bogus opcode in evaluate_data_expression: %d", expr -> op);
return 0;
-}
+}
int evaluate_numeric_expression (result, packet, lease, client_state,
in_options, cfg_options, scope, expr)
(long unsigned)cur_time, *result);
#endif
return (1);
-
+
case expr_variable_reference:
if (scope && *scope) {
binding = find_binding (*scope, expr -> data.variable);
/* So that we can be called with option_lookup as an argument. */
if (!expr)
return 0;
-
+
if (!evaluate_boolean_expression (&result, packet, lease, client_state,
in_options, cfg_options,
scope, expr))
*ignorep = 0;
return result;
}
-
+
/* Dereference an expression node, and if the reference count goes to zero,
dereference any data it refers to, and then free it. */
case expr_none:
col = token_print_indent (file, col, indent, "", "", "null");
break;
-
+
case expr_check:
col = token_print_indent (file, col, indent, "", "", "check");
col = token_print_indent_concat (file, col, indent,
if (expr -> data.option -> universe != &dhcp_universe) {
col = token_print_indent (file, col, indent,
" ", "",
- (expr -> data.option ->
+ (expr -> data.option ->
universe -> name));
col = token_print_indent (file, col, indent, "", "",
".");
}
break;
- case expr_hardware:
+ case expr_hardware:
col = token_print_indent (file, col, indent, "", "",
"hardware");
break;
else
*rv = lrhs;
return 1;
-
+
case expr_v6relay:
clhs = data_subexpression_length (&llhs,
expr -> data.v6relay.relay);
/*!
* \brief Adds two Dc-formatted lists into a single Dc-formatted list
*
- * Given two data_strings containing compressed lists, it constructs a
+ * Given two data_strings containing compressed lists, it constructs a
* third data_string containing a single compressed list:
*
* 1. Decompressing the first list into a buffer
- * 2. Decompressing the second list onto the end of the buffer
+ * 2. Decompressing the second list onto the end of the buffer
* 3. Compressing the buffer into the result
*
* If either list is empty, the result will be the equal to the compressed
*
* It relies on two functions to decompress and compress:
*
- * - MRns_name_uncompress_list() - produces a null-terminated string of
+ * - MRns_name_uncompress_list() - produces a null-terminated string of
* comma-separated domain-names from a buffer containing "Dc" formatted
* data
*
* - MRns_name_compress_list() - produces a buffer containing "Dc" formatted
* data from a null-terminated string containing comma-separated domain-names
- *
+ *
* \param result data_string which will contain the combined list
* in Dc format
- * \param list1 data_string containing first Dc formatted list
- * \param list2 data_string containing second Dc formatted list
+ * \param list1 data_string containing first Dc formatted list
+ * \param list2 data_string containing second Dc formatted list
* \return 0 if there is an error, the length of the new list when successful
*/
int concat_dclists (struct data_string* result,
info -> name);
/* We only know how to do ethernet. */
- if (param.end_dev_type != ENDT_10MB)
+ if (param.end_dev_type != ENDT_10MB)
log_fatal ("Invalid device type on network interface %s: %d",
info -> name, param.end_dev_type);
omapi_object_reference (&callback -> object, h, MDL);
callback -> data = data;
callback -> callback = func;
-
+
return ISC_R_SUCCESS;
}
{
if (h -> type != dhcpctl_callback_type)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
(h -> inner, id, name, value);
p -> inner);
return ISC_R_SUCCESS;
}
-
int mode = undefined;
const char *interface = 0;
const char *action;
-
+
for (i = 1; i < argc; i++) {
if (!strcmp (argv[i], "-u")) {
mode = up;
.\" Project: DHCP
.\" File: dhcpctl.3
.\" RCSId: $Id: dhcpctl.3,v 1.9 2011/04/25 23:43:16 sar Exp $
-.\"
+.\"
.\" Copyright (c) 2011,2014 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 2004,2009 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 2000-2003 by Internet Software Consortium
.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
-.\"
+.\"
.\" Description: dhcpctl man page.
-.\"
+.\"
.\"
.Dd Nov 15, 2000
.Dt DHCPCTL 3
The return values reflects the result of operations to local data
structures. If an operation fails on the server for any reason, then the error
result will be returned through the
-second parameter of the
-.Fn dhcpctl_wait_for_completion
+second parameter of the
+.Fn dhcpctl_wait_for_completion
call.
.\"
.\"
parameter.
.Bd -literal -offset indent
s = dhcpctl_wait_for_completion(cxn, &wv);
-if (s != ISC_R_SUCCESS)
+if (s != ISC_R_SUCCESS)
local_failure(s);
else if (wv != ISC_R_SUCCESS)
server_failure(wc);
.Ed
.Pp
-The call to
+The call to
.Fn dhcpctl_wait_for_completion
won't return until the remote message processing completes or the connection
to the server is lost.
.Fn dhcpctl_set_boolean_value ,
and
.Fn dhcpctl_set_int_value
-functions all set a value on the object handle.
+functions all set a value on the object handle.
.\"
.\"
.\"
.\"
.\"
.Pp
-The
+The
.Fn dhcpctl_set_callback
function sets up a user-defined function to be called when an event completes
on the given object handle. This is needed for asynchronous handling of
.Fn dhcpctl_wait_for_completion .
When the function is called the first parameter is the object the event
arrived for, the second is the status of the message that was processed, the
-third is the same value as the second parameter given to
+third is the same value as the second parameter given to
.Fn dhcpctl_set_callback .
.\"
.\"
.\"
.Pp
-The
+The
.Fn dhcpctl_new_authenticator
creates a new authenticator object to be used for signing the messages
-that cross over the network. The
+that cross over the network. The
.Dq name ,
.Dq algorithm ,
-and
+and
.Dq secret
values must all match what the server uses and are defined in its
configuration file. The created object is returned through the first parameter
-and must be used as the 4th parameter to
+and must be used as the 4th parameter to
.Fn dhcpctl_connect .
Note that the 'secret' value must not be base64 encoded, which is different
from how the value appears in the dhcpd.conf file.
.\"
.Pp
.Fn dhcpctl_new_object
-creates a local handle for an object on the server. The
+creates a local handle for an object on the server. The
.Dq object_type
-parameter is the ascii name of the type of object being accessed. e.g.
+parameter is the ascii name of the type of object being accessed. e.g.
.Qq lease .
-This function only sets up local data structures, it does not queue any
+This function only sets up local data structures, it does not queue any
messages
to be sent to the remote side,
.Fn dhcpctl_open_object
.\"
.\"
.Pp
-The
+The
.Fn omapi_data_string_new
function allocates a new
.Ft dhcpctl_data_string
-object. The data string will be large enough to hold
+object. The data string will be large enough to hold
.Dq length
bytes of data. The
-.Dq file
+.Dq file
and
.Dq lineno
arguments are the source file location the call is made from, typically by
-using the
+using the
.Dv __FILE__
and
.Dv __LINE__
-macros or the
+macros or the
.Dv MDL
macro defined in
.
The memory for the object won't be freed until the last reference is
released.
.Sh EXAMPLES
-.Pp
+.Pp
The following program will connect to the DHCP server running on the local
host and will get the details of the existing lease for IP address
10.0.0.101. It will then print out the time the lease is due to expire. Note
-that most error checking has been omitted for brevity.
+that most error checking has been omitted for brevity.
.Bd -literal -offset indent
#include <sys/time.h>
#include <stdio.h>
dhcpctl_connect (&connection, "127.0.0.1",
7911, 0);
-
+
dhcpctl_new_object (&lease, connection,
"lease");
is maintained by ISC. To learn more about Internet Systems Consortium,
see
.B https://www.isc.org
-
synchronous
returns nonzero status code if it didn't connect, zero otherwise
stores connection handle through connection, which can be used
- for subsequent access to the specified server.
+ for subsequent access to the specified server.
server_name is the name of the server, and port is the TCP
port on which it is listening.
authinfo is the handle to an object containing authentication
synchronous
returns zero if the call succeeded, a nonzero status code if
- it didn't.
+ it didn't.
result is the address of an empty data string (initialized
with bzero or cleared with data_string_forget). On
successful completion, the addressed data string will contain
isc_result_t status;
dhcpctl_data_string data = (dhcpctl_data_string)0;
int rv;
-
+
status = dhcpctl_get_value (&data, h, value_name);
if (status != ISC_R_SUCCESS)
return status;
omapi_typed_data_t *);
isc_result_t dhcpctl_callback_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t dhcpctl_callback_destroy (omapi_object_t *, const char *, int);
isc_result_t dhcpctl_callback_signal_handler (omapi_object_t *,
const char *, va_list);
omapi_typed_data_t *);
isc_result_t dhcpctl_remote_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t dhcpctl_remote_destroy (omapi_object_t *, const char *, int);
isc_result_t dhcpctl_remote_signal_handler (omapi_object_t *,
const char *, va_list);
is maintained by ISC. To learn more about Internet Systems Consortium,
see
.B https://www.isc.org
-
}
}
-int
+int
main(int argc, char **argv) {
isc_result_t status, waitstatus;
dhcpctl_handle connection;
dhcpctl_remote_object_t *r = (dhcpctl_remote_object_t *)oh;
omapi_generic_object_t *g =
(omapi_generic_object_t *)(r -> inner);
-
+
printf ("obj: ");
if (r -> rtype -> type != omapi_datatype_string) {
(int)(r -> rtype -> u . buffer . len),
r -> rtype -> u . buffer . value);
}
-
+
for (i = 0; i < g -> nvalues; i++) {
omapi_value_t *v = g -> values [i];
-
+
if (!g -> values [i])
continue;
printf ("%.*s = ", (int)v -> name -> len,
v -> name -> value);
-
+
if (!v -> value) {
printf ("<null>\n");
continue;
printf ("%d\n",
v -> value -> u . integer);
break;
-
+
case omapi_datatype_string:
printf ("\"%.*s\"\n",
(int) v -> value -> u.buffer.len,
v -> value -> u.buffer.value);
break;
-
+
case omapi_datatype_data:
print_hex_or_string(v->value->u.buffer.len,
v->value->u.buffer.value,
sizeof(hex_buf), hex_buf);
printf("%s\n", hex_buf);
break;
-
+
case omapi_datatype_object:
printf ("<obj>\n");
break;
status = new_parse (&cfile, -1, buf, strlen(buf), "<STDIN>", 1);
check(status, "new_parse()");
-
+
token = next_token (&val, (unsigned *)0, cfile);
switch (token) {
default:
parse_warn (cfile, "unknown token: %s", val);
skip_to_semi (cfile);
break;
-
+
case END_OF_FILE:
case ENDOFLINE: /* EOL: */
break;
-
+
case TOKEN_HELP:
case QUESTIONMARK: /* '?': */
printf ("Commands:\n");
printf (" remove\n");
skip_to_semi (cfile);
break;
-
+
case PORT:
token = next_token (&val, (unsigned *)0, cfile);
if (is_identifier (token)) {
printf ("usage: new <object-type>\n");
break;
}
-
+
if (oh) {
printf ("an object is already open.\n");
skip_to_semi (cfile);
break;
}
-
+
if (!connected) {
printf ("not connected.\n");
skip_to_semi (cfile);
isc_result_totext (status));
break;
}
-
+
token = next_token (&val, (unsigned *)0, cfile);
if (token != END_OF_FILE && token != EOL) {
printf ("usage: new <object-type>\n");
break;
}
omapi_object_dereference (&oh, MDL);
-
+
break;
case TOKEN_SET:
skip_to_semi (cfile);
break;
}
-
+
if (oh == NULL) {
printf ("no open object.\n");
skip_to_semi (cfile);
break;
}
-
+
if (!connected) {
printf ("not connected.\n");
skip_to_semi (cfile);
s1[0] = 0;
strncat (s1, val, sizeof(s1)-strlen(s1)-1);
#endif
-
+
token = next_token (&val, (unsigned *)0, cfile);
if (token != EQUAL)
goto set_usage;
dhcpctl_set_string_value (oh, val, s1);
token = next_token (&val, (unsigned *)0, cfile);
break;
-
+
case NUMBER:
strcpy (buf, val);
token = peek_token (&val, (unsigned *)0, cfile);
token = next_token (&val, (unsigned *)0, cfile);
badnum:
break;
-
+
case NUMBER_OR_NAME:
strcpy (buf, val);
cshl:
printf ("invalid value.\n");
skip_to_semi (cfile);
}
-
+
if (token != END_OF_FILE && token != EOL)
goto set_usage;
break;
-
+
case UNSET:
token = next_token (&val, (unsigned *)0, cfile);
skip_to_semi (cfile);
break;
}
-
+
if (!oh) {
printf ("no open object.\n");
skip_to_semi (cfile);
break;
}
-
+
if (!connected) {
printf ("not connected.\n");
skip_to_semi (cfile);
s1[0] = 0;
strncat (s1, val, sizeof(s1)-strlen(s1)-1);
#endif
-
+
token = next_token (&val, (unsigned *)0, cfile);
if (token != END_OF_FILE && token != EOL)
goto unset_usage;
dhcpctl_set_null_value (oh, s1);
break;
-
+
case TOKEN_CREATE:
case TOKEN_OPEN:
i = token;
skip_to_semi (cfile);
break;
}
-
+
if (!connected) {
printf ("not connected.\n");
skip_to_semi (cfile);
i = DHCPCTL_CREATE | DHCPCTL_EXCL;
else
i = 0;
-
+
status = dhcpctl_open_object (oh, connection, i);
if (status == ISC_R_SUCCESS)
status = dhcpctl_wait_for_completion
isc_result_totext (status));
break;
}
-
+
break;
case UPDATE:
skip_to_semi (cfile);
break;
}
-
+
if (!connected) {
printf ("not connected.\n");
skip_to_semi (cfile);
isc_result_totext (status));
break;
}
-
+
break;
case REMOVE:
skip_to_semi (cfile);
break;
}
-
+
if (!connected) {
printf ("not connected.\n");
break;
skip_to_semi (cfile);
break;
}
-
+
if (!connected) {
printf ("not connected.\n");
break;
isc_result_totext (status));
break;
}
-
+
break;
}
end_parse (&cfile);
flags include:
DHCPCTL_CREATE - if the object doesn't exist, create it
DHCPCTL_UPDATE - update the object on the server using the
- attached parameters
+ attached parameters
DHCPCTL_EXCL - error if the object exists and DHCPCTL_CREATE
was also specified */
{
if (h -> type != dhcpctl_remote_type)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
(h -> inner, id, name, value);
p -> inner);
return ISC_R_SUCCESS;
}
-
first provide a reference.
</li>
</ul><p>
-
+
</p>
<p>That is the lofty goal, at any rate. It's well understood that,
especially because the ISC DHCP Software package has not always been
the need to implement many forms of Link Layer framing and above.
The software gets away with not having to implement IP routing
tables as well by simply utilizing the aforementioned 'fallback'
- UDP socket when unicasting between two configured systems is
+ UDP socket when unicasting between two configured systems is
needed.
</p>
<p>Modern unixes have opened up some facilities that diminish how
DHCP clients on given networks, so that one of the two servers may
fail and be survived by a server that can act responsibly.
</p>
-<p>Unfortunately it has been quite some years (2003) since the last
+<p>Unfortunately it has been quite some years (2003) since the last
time this document was edited, and the authors no longer show any
interest in fielding comments or improving the document.
</p>
communications-interrupted. This is supported using a new
'rewind state' record on the dhcpd.leases entry for each
lease.
-
+
</p>
<p><a class='info' href='#RFC3074'>[RFC3074]<span> (</span><span class='info'>Volz, B., Gonczi, S., Lemon, T., and R. Stevens, “DHC Load Balancing Algorithm,” February 2001.</span><span>)</span></a> describes the Load Balancing
Algorithm (LBA) that ISC DHCP uses in concert with the Failover
beneath options it also contains.
</li>
</ol><p>
-
+
</p>
<p>Precisely how to correctly support the above conundrums has not
quite yet been settled, so support is incomplete.
<td class="author-text">Internet Systems Consortium,
Inc.</td></tr>
<tr><td class="author-text"> </td>
-<td class="author-text">950 Charter Street</td></tr>
+<td class="author-text">PO Box 360</td></tr>
<tr><td class="author-text"> </td>
-<td class="author-text">Redwood City, CA 94063</td></tr>
+<td class="author-text">Newmarket, NH 03857 USA</td></tr>
<tr cellpadding="3"><td> </td><td> </td></tr>
<tr><td class="author-text"> </td>
<td class="author-text">Tomasz Mrugalski</td></tr>
<td class="author-text">Internet Systems Consortium,
Inc.</td></tr>
<tr><td class="author-text"> </td>
-<td class="author-text">950 Charter Street</td></tr>
+<td class="author-text">PO Box 360</td></tr>
<tr><td class="author-text"> </td>
-<td class="author-text">Redwood City, CA 94063</td></tr>
+<td class="author-text">Newmarket, NH 03857 USA</td></tr>
<tr><td class="author" align="right">Phone: </td>
<td class="author-text">+1 650 423 1345</td></tr>
<tr><td class="author" align="right">Email: </td>
the need to implement many forms of Link Layer framing and above.
The software gets away with not having to implement IP routing
tables as well by simply utilizing the aforementioned 'fallback'
- UDP socket when unicasting between two configured systems is
+ UDP socket when unicasting between two configured systems is
needed.</t>
<t>Modern unixes have opened up some facilities that diminish how
DHCP clients on given networks, so that one of the two servers may
fail and be survived by a server that can act responsibly.</t>
- <t>Unfortunately it has been quite some years (2003) since the last
+ <t>Unfortunately it has been quite some years (2003) since the last
time this document was edited, and the authors no longer show any
interest in fielding comments or improving the document.</t>
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/dhclient-script.8,v 1.13 2002/05/08 03:27:27 horikawa Exp $
.TH dhclient-script 8
-.SH ̾¾Î
-dhclient-script - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Î¥Í¥Ã¥È¥ï¡¼¥¯ÀßÄꥹ¥¯¥ê¥×¥È
-.SH ²òÀâ
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Î¥Í¥Ã¥È¥ï¡¼¥¯ÀßÄꥹ¥¯¥ê¥×¥È¤Ï¡¢
-»þ¤¢¤ë¤´¤È¤Ë \fBdhclient(8)\fR ¤¬¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢ËÜ¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤ꡢ
-¥¢¥É¥ì¥¹Í×µá¤ËÀèΩ¤Ä³Æ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î½é´üÀßÄê¤È¡¢
-ÉÕÍ¿¤µ¤ì¤¿¥¢¥É¥ì¥¹¤Î¸¡ºº¤È¡¢
-¥ê¡¼¥¹³ÍÆÀ»þ¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎºÇ½ªÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
-¥ê¡¼¥¹¤¬³ÍÆÀ¤µ¤ì¤Ê¤«¤Ã¤¿¾ì¹硢
-ÄêµÁºÑ¤ß¤Î¥ê¡¼¥¹¤¬Â¸ºß¤¹¤ë¤Ê¤é¤Ð¤³¤ì¤ò¸¡ºº¤¹¤ë¤¿¤á¤ËËÜ¥¹¥¯¥ê¥×¥È¤Ï»ÈÍѤµ¤졢
-ͭ¸ú¤Ê¥ê¡¼¥¹¤¬È½ÌÀ¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤â¤â¤¦ 1 ²ó¤³¤Î¥¹¥¯¥ê¥×¥È¤¬¸Æ¤Ð¤ì¤Þ¤¹¡£
+.SH ̾��
+dhclient-script - DHCP ���饤����ȤΥͥåȥ�����ꥹ����ץ�
+.SH ����
+DHCP ���饤����ȤΥͥåȥ�����ꥹ����ץȤϡ�
+�����뤴�Ȥ� \fBdhclient(8)\fR ���ƤӽФ��ޤ���
+DHCP ���饤����Ȥϡ��ܥ�����ץȤ���Ѥ��뤳�Ȥˤ�ꡢ
+���ɥ쥹�����Ω�ijƥ��ե������ν������ȡ�
+��Ϳ���줿���ɥ쥹�θ����ȡ�
+����������Υ��ե������κǽ������Ԥ��ޤ���
+�������������ʤ��ä���硢
+����ѤߤΥ����¸�ߤ���ʤ�Ф�������뤿����ܥ�����ץȤϻ��Ѥ��졢
+ͭ���ʥ����Ƚ�����ʤ��ä����ˤ�⤦ 1 �Υ�����ץȤ��ƤФ�ޤ���
.PP
-ËÜ¥¹¥¯¥ê¥×¥È¤Ï¡¢¥¨¥ó¥É¥æ¡¼¥¶¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤µ¤ì¤ë¤³¤È¤ò°Õ¿Þ¤·¤Æ¤¤¤Þ¤»¤ó¡£
-¥í¡¼¥«¥ë¤Ê¥«¥¹¥¿¥Þ¥¤¥º¤¬É¬Íפʾì¹硢
-¤³¤ì¤ÏÆþ (enter) ¤È½Ð (exit) ¤È¤¤¤¦¥Õ¥Ã¥¯¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç²Äǽ¤È¤Ê¤ê¤Þ¤¹
-(¾ÜºÙ¤Ï¥Õ¥Ã¥¯»²¾È)¡£
-¤³¤ì¤é¤Î¥Õ¥Ã¥¯¤Ï¡¢
+�ܥ�����ץȤϡ�����ɥ桼���˥������ޥ�������뤳�Ȥ�տޤ��Ƥ��ޤ���
+��������ʥ������ޥ�����ɬ�פʾ�硢
+������� (enter) �Ƚ� (exit) �Ȥ����եå�����Ѥ��뤳�ȤDz�ǽ�Ȥʤ�ޤ�
+(�ܺ٤ϥեå�����)��
+�����Υեå��ϡ�
.B /etc/resolv.conf
-ºîÀ®»þ¤Ë¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Î¥Ç¥Õ¥©¥ë¥ÈÆ°ºî¤ò¥æ¡¼¥¶¤¬¥ª¡¼¥Ð¥é¥¤¥É¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
+�������ˡ�
+���饤����ȤΥǥե����ư���桼���������Х饤�ɤǤ���褦�ˤ��ޤ���
.PP
-ÆÃÄê¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Î¼ÂÂΤÏÆ°ºî¤¹¤ë¤È¤·¤Ƥ⡢
-ɸ½à¤Î¥¹¥¯¥ê¥×¥È¤¬Æ°ºî¤·¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-Àè¶îŪ¤Ê¥æ¡¼¥¶¤¬¿·µ¬¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤ê´û¸¤Î¤â¤Î¤ò½¤Àµ¤·¤¿¤ê¤¹¤ëɬÍפ¬¤¢¤ë
-¤³¤È¤Ï¤â¤Ã¤È¤â¤Ê¤³¤È¤Ç¤¹¡£
-°ìÈÌŪ¤Ë¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Ë¸ÇͤΥ«¥¹¥¿¥Þ¥¤¥º¤Ï
+����Υ��ڥ졼�ƥ������ƥ�Ǥϡ�
+���饤����Ȥμ��Τ�ư���Ȥ��Ƥ⡢
+ɸ��Υ�����ץȤ�ư��ʤ����⤷��ޤ���
+���Ū�ʥ桼��������������ץȤ�����������¸�Τ�Τ��������ꤹ��ɬ�פ�����
+���ȤϤ�äȤ�ʤ��ȤǤ���
+����Ū�ˤϡ����줾��Υ���ԥ塼���˸�ͭ�Υ������ޥ�����
.B ETCDIR/dhclient.conf
-¥¹¥¯¥ê¥×¥È¤Ç¹Ô¤¦¤Ù¤¤Ç¤¹¡£
+������ץȤǹԤ��٤��Ǥ���
.B ETCDIR/dhclient.conf
-¤Î¥«¥¹¥¿¥Þ¥¤¥ºÌµ¤·¤Ë¤Ç¤¤Ê¤¤¥«¥¹¥¿¥Þ¥¤¥º¤䡢
-Æþ¤È½Ð¤Î¥Õ¥Ã¥¯¤Î»ÈÍѤǤϤǤ¤Ê¤¤¥«¥¹¥¿¥Þ¥¤¥º¤Ëµ¤¤Å¤¤¤¿¾ì¹ç¤Ë¤Ï¡¢
-¥Ð¥°¥ì¥Ý¡¼¥È¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£
-.SH ¥Õ¥Ã¥¯
-³«»Ï»þ¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¥¹¥¯¥ê¥×¥È¤Ï¤Þ¤º¥·¥§¥ë´Ø¿ô¤òÄêµÁ¤·¤Þ¤¹¡£¤½¤Î´Ø¿ô¤Ï
+�Υ������ޥ���̵���ˤǤ��ʤ��������ޥ����䡢
+���ȽФΥեå��λ��ѤǤϤǤ��ʤ��������ޥ����˵��Ť������ˤϡ�
+�Х���ݡ��Ȥ����äƤ���������
+.SH �եå�
+���ϻ��ˡ����饤����ȥ�����ץȤϤޤ�������ؿ���������ޤ������δؿ���
.B make_resolv_conf
-¤Ç¤¢¤ê¡¢¸å¤Ë
+�Ǥ��ꡢ���
.B /etc/resolv.conf
-¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥ÈÆ°ºî¤ò¥ª¡¼¥Ð¥é¥¤¥É¤¹¤ë¤Ë¤Ï¡¢
-¤³¤Î´Ø¿ô¤òÆþ¤Î¥Õ¥Ã¥¯¥¹¥¯¥ê¥×¥È¤ÇºÆÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ե������������뤿��˻��Ѥ���ޤ���
+�ǥե����ư����Х饤�ɤ���ˤϡ�
+���δؿ������Υեå�������ץȤǺ�������Ƥ���������
.PP
-make_resolv_conf ´Ø¿ô¤ÎÄêµÁ¤Î¸å¡¢¥¯¥é¥¤¥¢¥ó¥È¥¹¥¯¥ê¥×¥È¤Ï
-¼Â¹Ô²Äǽ¤Ê
+make_resolv_conf �ؿ�������θ塢���饤����ȥ�����ץȤ�
+�¹Բ�ǽ��
.B ETCDIR/dhclient-enter-hooks
-¥¹¥¯¥ê¥×¥È¤Î¸ºß¤ò¸¡ºº¤·¡¢
-¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï Bourne ¥·¥§¥ë¤Î '.' ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ
-ËÜ¥¹¥¯¥ê¥×¥È¤ò¥¤¥ó¥é¥¤¥ó¤Çµ¯Æ°¤·¤Þ¤¹¡£
-Áàºî¤Çµ½Ò¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î´Ä¶¤¬ËÜ¥¹¥¯¥ê¥×¥È¤Ç»ÈÍѲÄǽ¤Ç¤¢¤ꡢ
-¥¹¥¯¥ê¥×¥È¤ÎÆ°ºî¤ÎÊѹ¹¤¬É¬Íפʾì¹ç¤Ë¤Ï´Ä¶¤Î½¤Àµ¤¬µö¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¥¹¥¯¥ê¥×¥È¼Â¹ÔÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹硢
-exit_status ÊÑ¿ô¤òÈó 0 ÃͤËÀßÄꤹ¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ꡢ
-¥¯¥é¥¤¥¢¥ó¥È¥¹¥¯¥ê¥×¥È½ªÎ»Ä¾¸å¤Ë
+������ץȤ�¸�ߤ�����
+¸�ߤ�����ˤ� Bourne ������� '.' ���ޥ�ɤ���Ѥ���
+�ܥ�����ץȤ�饤��ǵ�ư���ޤ���
+���ǵ��Ҥ���Ƥ��뤹�٤ƤδĶ����ܥ�����ץȤǻ��Ѳ�ǽ�Ǥ��ꡢ
+������ץȤ�ư����ѹ���ɬ�פʾ��ˤϴĶ��ν�����������Ƥ��ޤ���
+������ץȼ¹���˥��顼��ȯ��������硢
+exit_status �ѿ����� 0 �ͤ����ꤹ�뤳�Ȥ���ǽ�Ǥ��ꡢ
+���饤����ȥ�����ץȽ�λľ���
.B CLIENTBINDIR/dhclient-script
-¤Ï¤½¤Î¥¨¥é¡¼¥³¡¼¥É¤Ç½ªÎ»¤·¤Þ¤¹¡£
+�Ϥ��Υ��顼�����ɤǽ�λ���ޤ���
.PP
-¤¹¤Ù¤Æ¤Î½èÍý¤Î´°Î»¸å¤Ë¡¢
+���٤Ƥν����δ�λ��ˡ�
.B CLIENTBINDIR/dhclient-script
-¤Ï¼Â¹Ô²Äǽ¤Ê
+�ϼ¹Բ�ǽ��
.B ETCDIR/dhclient-exit-hooks
-¥¹¥¯¥ê¥×¥È¤Î¸ºß¤ò¸¡ºº¤·¡¢Â¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï '.' ¥³¥Þ¥ó¥É¤Ç¤³¤ì¤òµ¯Æ°¤·¤Þ¤¹¡£
-dhclient-script ¤Î
-½ªÎ»¾õÂÖ¤Ï dhclient-exit-hooks ¤Î exit_status ¥·¥§¥ëÊÑ¿ô¤ËÅϤµ¤졢
-µ¯Æ°¤µ¤ì¤¿»Å»ö¤Ë¥¹¥¯¥ê¥×¥È¤¬À®¸ù¤·¤¿¾ì¹ç¤Ë¤ÏÃͤϾï¤Ë 0 ¤Ë¤Ê¤ê¤Þ¤¹¡£
-dhclient-enter-hooks ¤Î¹à¤ÇÁ°½Ò¤·¤¿¤½¤Î¾¤Î´Ä¶¤â°ú¤·Ñ¤¬¤ì¤Þ¤¹¡£
+������ץȤ�¸�ߤ�����¸�ߤ�����ˤ� '.' ���ޥ�ɤǤ����ư���ޤ���
+dhclient-script ��
+��λ���֤� dhclient-exit-hooks �� exit_status �������ѿ����Ϥ��졢
+��ư���줿�Ż��˥�����ץȤ������������ˤ��ͤϾ�� 0 �ˤʤ�ޤ���
+dhclient-enter-hooks �ι�����Ҥ�������¾�δĶ�������Ѥ���ޤ���
.B ETCDIR/dhclient-exit-hooks
-¤Ï exit_status ¤Ë¼ê¤ò²Ã¤¨¤Æ
-dhclient-script ¤ÎÌá¤êÃͤòÊѹ¹¤Ç¤¤Þ¤¹¡£
-.SH Áàºî
-dhclient ¤¬¥¯¥é¥¤¥¢¥ó¥ÈÀßÄꥹ¥¯¥ê¥×¥È¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ë¤È¤¡¢
-ÍÍ¡¹¤ÊÊÑ¿ô¤ò´Ä¶¤ËÄêµÁ¤·¤Æ¤«¤é
+�� exit_status �˼��ä���
+dhclient-script ������ͤ��ѹ��Ǥ��ޤ���
+.SH ���
+dhclient �����饤��������ꥹ����ץȤ�ư����ɬ�פ�����Ȥ���
+�͡����ѿ���Ķ���������Ƥ���
.B CLIENTBINDIR/dhclient-script
-¤òµ¯Æ°¤·¤Þ¤¹¡£
-¤¹¤Ù¤Æ¤Î¾ì¹ç¤Ë¤ª¤¤¤Æ¡¢$reason ¤Ë¤Ï¥¹¥¯¥ê¥×¥È¤¬µ¯Æ°¤µ¤ì¤ëÍýͳ̾¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£
-¼¡¤ÎÍýͳ¤¬¸½ºßÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹:
+��ư���ޤ���
+���٤Ƥξ��ˤ����ơ�$reason �ˤϥ�����ץȤ���ư�������ͳ̾�����ꤵ��ޤ���
+������ͳ�������������Ƥ��ޤ�:
MEDIUM, PREINIT, BOUND, RENEW, REBIND, REBOOT,
-EXPIRE, FAIL, TIMEOUT¡£
+EXPIRE, FAIL, TIMEOUT��
.PP
.SH MEDIUM
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥á¥Ç¥£¥¢¥¿¥¤¥×¤ÎÀßÄê¤òµá¤á¤Æ¤¤¤Þ¤¹¡£
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¤Ï $interface ¤ÇÅϤµ¤ì¡¢¥á¥Ç¥£¥¢¥¿¥¤¥×¤Ï $medium ¤ÇÅϤµ¤ì¤Þ¤¹¡£
+DHCP ���饤����Ȥϡ����ե������Υ�ǥ��������פ��������Ƥ��ޤ���
+���ե�����̾�� $interface ���Ϥ��졢��ǥ��������פ� $medium ���Ϥ���ޤ���
.SH PREINIT
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢
-¼ÂºÝ¤Î¥¢¥É¥ì¥¹¤ò¼õ¤±¼è¤ëÁ°¤Ë¥Ñ¥±¥Ã¥È¤òÁ÷¿®¤¹¤ëÌÜŪ¤Ç¡¢
-Í×µáÄ̤ê¤Ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÀßÄꤵ¤ì¤ë¤³¤È¤òµá¤á¤Æ¤¤¤Þ¤¹¡£
-BSD ¤Î¥½¥±¥Ã¥È¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ¹¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Ï¡¢
-IP ¥¢¥É¥ì¥¹ 0.0.0.0 ¤«¤Ä¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹ 255.255.255.255 ¤Ç¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀßÄꤹ¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Ï¡¢
-¼ÂºÝ¤Ë IP ¥¢¥É¥ì¥¹¤òÍ¿¤¨¤ë¤³¤È¤Ê¤¯Ã±¤Ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀßÄꤹ¤ë¤³¤È¤Ç
-¼Â¸½¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¤Ï $interface ¤ÇÅϤµ¤ì¡¢¥á¥Ç¥£¥¢¥¿¥¤¥×¤Ï $medium ¤ÇÅϤµ¤ì¤Þ¤¹¡£
+DHCP ���饤����Ȥϡ�
+�ºݤΥ��ɥ쥹�����������˥ѥ��åȤ�����������Ū�ǡ�
+���̤�˥��ե����������ꤵ��뤳�Ȥ���Ƥ��ޤ���
+BSD �Υ����åȥ饤�֥�����Ѥ��륯�饤����ȤǤϡ�
+IP ���ɥ쥹 0.0.0.0 ���ĥ֥����ɥ��㥹�ȥ��ɥ쥹 255.255.255.255 �ǡ�
+���ե����������ꤹ�뤳�Ȥ��̣���ޤ���
+¾�Υ��饤����ȤǤϡ�
+�ºݤ� IP ���ɥ쥹��Ϳ���뤳�Ȥʤ�ñ�˥��ե����������ꤹ�뤳�Ȥ�
+�¸������Ǥ��礦��
+���ե�����̾�� $interface ���Ϥ��졢��ǥ��������פ� $medium ���Ϥ���ޤ���
.PP
-IP ¥¨¥¤¥ê¥¢¥¹¤¬ dhclient.conf ¤ÇÀë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹硢
-¤³¤Î¥¢¥É¥ì¥¹¤¬ $alias_ip_address ¤ÇÅϤµ¤ì¤Þ¤¹¡£
-ËÜ IP ¥¢¥É¥ì¥¹¤Ø¤Î·ÐÏ©¤È¤È¤â¤Ë¡¢
-ËÜ IP ¥¢¥É¥ì¥¹¤òÂоݥ¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤éºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+IP �����ꥢ���� dhclient.conf ���������Ƥ����硢
+���Υ��ɥ쥹�� $alias_ip_address ���Ϥ���ޤ���
+�� IP ���ɥ쥹�ؤη�ϩ�ȤȤ�ˡ�
+�� IP ���ɥ쥹���оݥ��ե���������������ɬ�פ�����ޤ���
.SH BOUND
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¿·¥¢¥É¥ì¥¹¤Ø¤Î½é´ü¤Î·ë¹ç¤ò´°Î»¤·¤Þ¤·¤¿¡£
-¿·¤·¤¤ IP ¥¢¥É¥ì¥¹¤Ï $new_ip_address ¤ÇÅϤµ¤졢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¤Ï $interface ¤ÇÅϤµ¤ì¤Þ¤¹¡£
-¥á¥Ç¥£¥¢¥¿¥¤¥×¤Ï $medium ¤ÇÅϤµ¤ì¤Þ¤¹¡£
-¥µ¡¼¥Ð¤«¤é³ÍÆÀ¤·¤¿¥ª¥×¥·¥ç¥ó¤Ï¡¢\fBdhcp-options\fR ¤ÇÀë¸À¤µ¤ì¤Æ¤¤¤ë
-¥ª¥×¥·¥ç¥ó̾¤ÇÅϤµ¤ì¤Þ¤¹¡£
-Îã³°¤È¤·¤Æ¡¢ ͸ú¤Ê¥·¥§¥ëÊÑ¿ô¤È¤¹¤ë¤¿¤á¤Ë
-¥À¥Ã¥·¥å ('-') ¤Ï¥¢¥ó¥À¥¹¥³¥¢('_')¤ÇÃÖ¤´¹¤¨¤é¤졢
-ÊÑ¿ô̾¤Ï new_ ¤Ç³«»Ï¤·¤Þ¤¹¡£
-Î㤨¤Ð¡¢¿·¤·¤¤¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¤Ï $new_subnet_mask ¤ÇÅϤµ¤ì¤Þ¤¹¡£
+DHCP ���饤����Ȥϡ������ɥ쥹�ؤν���η���λ���ޤ�����
+������ IP ���ɥ쥹�� $new_ip_address ���Ϥ��졢
+���ե�����̾�� $interface ���Ϥ���ޤ���
+��ǥ��������פ� $medium ���Ϥ���ޤ���
+�����Ф�������������ץ����ϡ�\fBdhcp-options\fR ���������Ƥ���
+���ץ����̾���Ϥ���ޤ���
+�㳰�Ȥ��ơ� ͭ���ʥ������ѿ��Ȥ��뤿���
+���å��� ('-') �ϥ����������('_')���֤�������졢
+�ѿ�̾�� new_ �dz��Ϥ��ޤ���
+�㤨�С����������֥ͥåȥޥ����� $new_subnet_mask ���Ϥ���ޤ���
.PP
-¥¢¥É¥ì¥¹¤ò¼ÂºÝ¤ËÀßÄꤹ¤ëÁ°¤Ë¡¢dhclient-script ¤Ï²¿¤é¤«¤ÎÊýË¡¤Ç
-¤½¤Î¥¢¥É¥ì¥¹¤ËÂФ·¤Æ ARP ¤ò¹Ô¤¤¡¢ÊÖ»ö¤ò¼õ¤±¼è¤Ã¤¿¾ì¹ç¤Ë¤ÏÈó 0 ¤ÎÃͤÇ
-½ªÎ»¤¹¤ë¤Ù¤¤Ç¤¹¡£¤³¤Î¾ì¹ç¥¯¥é¥¤¥¢¥ó¥È¤Ï DHCPDECLINE ¥á¥Ã¥»¡¼¥¸¤ò¥µ¡¼¥Ð
-¤ËÁ÷¿®¤·¡¢°ã¤¦¥¢¥É¥ì¥¹¤ò¼èÆÀ¤·¤Þ¤¹¡£
-¤³¤Îºî¶È¤Ï RENEW, REBIND, REBOOT ¾õÂ֤ǤâƱÍͤ˹Ԥ¤¤Þ¤¹¤¬¡¢
-ɬ¤º¤·¤âɬÍפǤϤʤ¯¡¢¼ÂºÝ¹¥¤Þ¤·¤¯¤Ê¤¤¤Ç¤·¤ç¤¦¡£
+���ɥ쥹��ºݤ����ꤹ�����ˡ�dhclient-script �ϲ��餫����ˡ��
+���Υ��ɥ쥹���Ф��� ARP ��Ԥ����ֻ��������ä����ˤ��� 0 ���ͤ�
+��λ����٤��Ǥ������ξ�祯�饤����Ȥ� DHCPDECLINE ��å���������
+�����������㤦���ɥ쥹��������ޤ���
+���κ�Ȥ� RENEW, REBIND, REBOOT ���֤Ǥ�Ʊ�ͤ˹Ԥ��ޤ�����
+ɬ������ɬ�פǤϤʤ����ºݹ��ޤ����ʤ��Ǥ��礦��
.PP
-·ë¹ç¤¬´°Î»¤¹¤ë¤È¡¢
-¥Í¥Ã¥È¥ï¡¼¥¯¤Ë´Ø¤¹¤ë¿¤¯¤Î¥Ñ¥é¥á¡¼¥¿¤òÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£
-$new_domain_name ¤ª¤è¤Ó $new_domain_name_servers
-(¤³¤ì¤Ë¤ÏÊ£¿ô¤Î¥µ¡¼¥Ð¤ò¶õÇò¤Ç¶èÀڤäÆÎóµó¤·¤Æ¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó) ¤ò»ÈÍѤ·¤Æ¡¢
-¿·¤·¤¤ /etc/resolv.conf ¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È·ÐÏ©¤Ï¡¢$new_routers ¤ò»ÈÍѤ·¤ÆÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-ÀÅŪ·ÐÏ©¤Ï¡¢$new_static_routes ¤ò»ÈÍѤ·¤ÆÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
+��礬��λ����ȡ�
+�ͥåȥ���˴ؤ���¿���Υѥ��������ꤹ��ɬ�פ�����Ǥ��礦��
+$new_domain_name ����� $new_domain_name_servers
+(����ˤ�ʣ���Υ����Ф����Ƕ��ڤä���Ƥ��뤫�⤷��ޤ���) ����Ѥ��ơ�
+������ /etc/resolv.conf ���������ɬ�פ�����ޤ���
+�ǥե���ȷ�ϩ�ϡ�$new_routers ����Ѥ������ꤹ��ɬ�פ�����ޤ���
+��Ū��ϩ�ϡ�$new_static_routes ����Ѥ������ꤹ��ɬ�פ����뤫�⤷��ޤ���
.PP
-IP ¥¨¥¤¥ê¥¢¥¹¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤³¤ÇÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¥¨¥¤¥ê¥¢¥¹¤Î IP ¥¢¥É¥ì¥¹¤Ï $alias_ip_address ¤È¤·¤Æµ½Ò¤µ¤졢
-¥¨¥¤¥ê¥¢¥¹ÍѤËÀßÄꤵ¤ì¤ë¾¤Î DHCP ¥ª¥×¥·¥ç¥ó (Î㤨¤Ð¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯) ¤Ï
-Á°½Ò¤Î¤è¤¦¤ËÊÑ¿ô¤ÇÅϤµ¤ì¤Þ¤¹¤¬¡¢
-$new_ ¤Ç³«»Ï¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯ $alias_ ¤Ç³«»Ï¤·¤Þ¤¹¡£
-¥¨¥¤¥ê¥¢¥¹¤Î IP ¥¢¥É¥ì¥¹¤¬·ë¹ç¤µ¤ì¤¿ IP ¥¢¥É¥ì¥¹ ($new_ip_address) ¤È
-Ʊ¤¸¾ì¹ç¡¢¤³¤ì¤ò»ÈÍѤ·¤Æ¤Ï¤Ê¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤Ê¤¼¤Ê¤é¡¢¤³¤Î¾ì¹ç¤Ë¤Ï¾¤Î¥¨¥¤¥ê¥¢¥¹¤Î¥Ñ¥é¥á¡¼¥¿¤¬Àµ¤·¤¯¤Ê¤¤²ÄǽÀ¤¬¤¢¤ë
-¤«¤é¤Ç¤¹¡£
+IP �����ꥢ�����������Ƥ����硢���������ꤹ��ɬ�פ�����ޤ���
+�����ꥢ���� IP ���ɥ쥹�� $alias_ip_address �Ȥ��Ƶ��Ҥ��졢
+�����ꥢ���Ѥ����ꤵ���¾�� DHCP ���ץ���� (�㤨�Х��֥ͥåȥޥ���) ��
+���ҤΤ褦���ѿ����Ϥ���ޤ�����
+$new_ �dz��Ϥ���ΤǤϤʤ� $alias_ �dz��Ϥ��ޤ���
+�����ꥢ���� IP ���ɥ쥹����礵�줿 IP ���ɥ쥹 ($new_ip_address) ��
+Ʊ����硢�������Ѥ��ƤϤʤ�ʤ����Ȥ����դ��Ƥ���������
+�ʤ��ʤ顢���ξ��ˤ�¾�Υ����ꥢ���Υѥ������������ʤ���ǽ��������
+����Ǥ���
.SH RENEW
-·ë¹ç¤¬¹¹¿·¤µ¤ì¤ë¤È¡¢¥¹¥¯¥ê¥×¥È¤Ï BOUND ¤ÈƱÍͤ˸ƤФì¤Þ¤¹¤¬¡¢
-$new_ ¤Ç³«»Ï¤¹¤ëÁ´ÊÑ¿ô¤Ë²Ã¤¨¤Æ $old ¤Ç³«»Ï¤¹¤ëÊ̤ÎÊÑ¿ô¤ÎÁȤ¬¤¢¤ë¤È¤¤¤¦
-Îã³°¤¬¤¢¤ê¤Þ¤¹¡£
-Êѹ¹¤µ¤ì¤¿²ÄǽÀ¤¬¤¢¤ë±Ê³Ū¤ÊÀßÄê¤Ï¡¢ºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-Î㤨¤Ð¡¢·ë¹ç¤µ¤ì¤¿¥¢¥É¥ì¥¹¤ËÂФ¹¤ë¥í¡¼¥«¥ë·ÐÏ©¤¬ÀßÄꤵ¤ì¤¿¾ì¹硢
-¸Å¤¤¥í¡¼¥«¥ë·ÐÏ©¤òºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È·ÐÏ©¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¡¢¸Å¤¤¥Ç¥Õ¥©¥ë¥È·ÐÏ©¤òºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-ÀÅŪ·ÐÏ©¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¡¢¸Å¤¤¤â¤Î¤òºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤½¤Î¾¤Ë¤Ä¤¤¤Æ¤Ï¡¢BOUND ¤ÈƱÍͤ˽èÍý²Äǽ¤Ç¤¹¡£
+��礬���������ȡ�������ץȤ� BOUND ��Ʊ�ͤ˸ƤФ�ޤ�����
+$new_ �dz��Ϥ������ѿ��˲ä��� $old �dz��Ϥ����̤��ѿ����Ȥ�����Ȥ���
+�㳰������ޤ���
+�ѹ����줿��ǽ���������³Ū������ϡ��������ɬ�פ�����ޤ���
+�㤨�С���礵�줿���ɥ쥹���Ф�����������ϩ�����ꤵ�줿��硢
+�Ť����������ϩ��������ɬ�פ�����ޤ���
+�ǥե���ȷ�ϩ���ѹ����줿��硢�Ť��ǥե���ȷ�ϩ��������ɬ�פ�����ޤ���
+��Ū��ϩ���ѹ����줿��硢�Ť���Τ�������ɬ�פ�����ޤ���
+����¾�ˤĤ��Ƥϡ�BOUND ��Ʊ�ͤ˽�����ǽ�Ǥ���
.SH REBIND
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢¿·µ¬ DHCP ¥µ¡¼¥Ð¤ËºÆ·ë¹ç¤µ¤ì¤Þ¤·¤¿¡£
-¤³¤ì¤Ï RENEW ¤ÈƱÍͤ˰·¤¨¤Þ¤¹¤¬¡¢IP ¥¢¥É¥ì¥¹¤¬ÊѤï¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢
-ARP ɽ¤ò¥¯¥ê¥¢¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+DHCP ���饤����Ȥ������� DHCP �����Ф˺Ʒ�礵��ޤ�����
+����� RENEW ��Ʊ�ͤ˰����ޤ�����IP ���ɥ쥹���Ѥ�ä����ˤϡ�
+ARP ɽ�ꥢ����ɬ�פ�����ޤ���
.SH REBOOT
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¥ê¥Ö¡¼¥È¸å¤Ë¸µ¤Î¥¢¥É¥ì¥¹¤òºÆ³ÍÆÀ¤¹¤ë¤³¤È¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£
-¤³¤ì¤Ï BOUND ¤ÈƱÍͤ˽èÍý²Äǽ¤Ç¤¹¡£
+DHCP ���饤����Ȥϡ���֡��ȸ�˸��Υ��ɥ쥹��Ƴ������뤳�Ȥ��������ޤ�����
+����� BOUND ��Ʊ�ͤ˽�����ǽ�Ǥ���
.SH EXPIRE
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¥ê¡¼¥¹¹¹¿·¤È¿·µ¬¥ê¡¼¥¹³ÍÆÀ¤Ë¼ºÇÔ¤·¡¢
-¥ê¡¼¥¹¤Î´ü¸Â¤¬ÀÚ¤ì¤Þ¤·¤¿¡£
-ÂÐ¾Ý IP ¥¢¥É¥ì¥¹¤ò²òÊü¤¹¤ëɬÍפ¬¤¢¤ꡢ
-RENEW ¤ª¤è¤Ó REBIND ¤ÈƱÍͤˡ¢´ØÏ¢¤¹¤ë¥Ñ¥é¥á¡¼¥¿¤òºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+DHCP ���饤����Ȥϥ�������ȿ�����������˼��Ԥ���
+����δ��¤��ڤ�ޤ�����
+�о� IP ���ɥ쥹���������ɬ�פ����ꡢ
+RENEW ����� REBIND ��Ʊ�ͤˡ���Ϣ����ѥ�����������ɬ�פ�����ޤ���
.SH FAIL
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï DHCP ¥µ¡¼¥Ð¤ËÀܳ¤Ç¤¤º¡¢
-¤Þ¤¿¸¡ºº¤·¤¿ IP ¥¢¥É¥ì¥¹¤Ë¤Ï͸ú¤Ê¤â¤Î¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
-ºÇ¸å¤Ë¸¡ºº¤·¤¿¥ê¡¼¥¹¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢ÀßÄê²ò½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢EXPIRE ¤ÈƱÍͤ˰·¤¨¤Þ¤¹¡£
+DHCP ���饤����Ȥ� DHCP �����Ф���³�Ǥ�����
+�ޤ��������� IP ���ɥ쥹�ˤ�ͭ���ʤ�ΤϤ���ޤ���Ǥ�����
+�Ǹ�˸�����������Υѥ����ϡ�����������ɬ�פ�����ޤ���
+����ϡ�EXPIRE ��Ʊ�ͤ˰����ޤ���
.SH TIMEOUT
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¤É¤Î DHCP ¥µ¡¼¥Ð¤Ë¤âÀܳ¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿¡£
-¤·¤«¤·¤Ê¤¬¤é¡¢¸Å¤¤¥ê¡¼¥¹¤¬¼±Ê̤µ¤졢
-BOUND ¤ÈƱÍͤˡ¢¤³¤Î¸Å¤¤¥ê¡¼¥¹¤Î¥Ñ¥é¥á¡¼¥¿¤¬ÅϤµ¤ì¤Þ¤·¤¿¡£
-¥¯¥é¥¤¥¢¥ó¥È¤ÎÀßÄꥹ¥¯¥ê¥×¥È¤Ï¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ò¸¡ºº¤·¡¢
-¤³¤ì¤¬Í¸ú¤Ç¤¢¤ë¤È¿®¤¸¤ëÍýͳ¤¬¤¢¤ë¤Ê¤é¤Ð¡¢ÃÍ 0 ¤Ç½ªÎ»¤¹¤Ù¤¤Ç¤¹¡£
-¤½¤¦¤Ç¤Ê¤¤¤Ê¤é¤Ð¡¢Èó 0 ¤ÎÃͤǽªÎ»¤¹¤Ù¤¤Ç¤¹¡£
+DHCP ���饤����ȤϤɤ� DHCP �����Фˤ���³�Ǥ��ޤ���Ǥ�����
+�������ʤ��顢�Ť���������̤��졢
+BOUND ��Ʊ�ͤˡ����θŤ�����Υѥ������Ϥ���ޤ�����
+���饤����Ȥ����ꥹ����ץȤϡ����Υѥ���������
+���줬ͭ���Ǥ���ȿ�������ͳ������ʤ�С��� 0 �ǽ�λ���٤��Ǥ���
+�����Ǥʤ��ʤ�С��� 0 ���ͤǽ�λ���٤��Ǥ���
.PP
-¥ê¡¼¥¹¤ò¸¡ºº¤¹¤ëÄ̾ï¤ÎÊýË¡¤Ï¡¢REBIND ¤ÈƱÍͤ˥ͥåȥ¥¯¤òÀßÄꤷ¤Æ
-(ʣ¿ô¤Î¥ê¡¼¥¹¤ò¸¡ºº¤¹¤ë¤¿¤á¤Ë¸Æ¤Ð¤ì¤ë¤³¤È¤¬¤¢¤ë¤«¤é¤Ç¤¹)¡¢
-$routers ¤ÇÄêµÁ¤µ¤ì¤ëºÇ½é¤Î¥ë¡¼¥¿¤Ë ping ¤¹¤ë¤³¤È¤Ç¤¹¡£
-±þÅú¤ò¼õ¿®¤·¤¿¾ì¹硢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¸½ºßÀܳ¤µ¤ì¤Æ¤¤¤ë¥Í¥Ã¥È¥ï¡¼¥¯¤ËÂФ·¤Æ¡¢¥ê¡¼¥¹¤¬Í¸ú¤Ç¤¹¡£
-$new_static_routers ¤Ë²Ã¤¨¤Æ
-$new_routers ¤ËÎóµó¤µ¤ì¤Æ¤¤¤ëÁ´¥ë¡¼¥¿¤Ë ping ¤ò»î¤¹¤è¤¦¤Ë¤Ê¤ì¤Ð¡¢
-´°Á´À¤¬Áý¤¹¤Ç¤·¤ç¤¦¡£¤·¤«¤·¡¢¸½ºß¤Î¥¹¥¯¥ê¥×¥È¤Ï¤½¤¦¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
-.SH ´ØÏ¢¥Õ¥¡¥¤¥ë
-Îà»÷¤·¤¿¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ËÂФ¹¤ë¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤Ï
-»÷¤Æ¤¤¤¿¤êÁ´¤¯Æ±¤¸¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢°ìÈ̤ˤϡ¢
-³Æ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥àÍѤ˳ơ¹¤Î¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤Ù¤¤Ç¤¹¡£
-Internet Systems Consortium ¤Î DHCP ÇÛÉۤ˴ޤޤì¤ë¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤Ï¡¢
-client/scripts °Ê²¼¤ÎÇÛÉۥĥ꡼¤Ë¤¢¤ꡢ
-ưºîÂоݥª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à̾¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
-.SH ¥Ð¥°
-ʣ¿ô¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤ¹¤ë¾ì¹硢
-¥µ¡¼¥Ð¤¬Ä󶡤¹¤ëÀßÄê¥Ñ¥é¥á¡¼¥¿Æ±»Î¤¬
-¾×Æͤ·¤Ê¤¤¤è¤¦¤Ë¤¹¤ëÌÀ³Î¤ÊÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-Î㤨¤Ð¡¢
-ɸ½à¤Î dhclient-script ¤Ï /etc/resolv.conf ¤òºÆÅÙ½ñ¤´¹¤¨¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
-¤¹¤Ê¤ï¤Á¡¢Ê£¿ô¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹硢
-¤¢¤ë¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤ëÃÍ¤Ë /etc/resolv.conf ¤¬½é´ü²½¤µ¤ì¤¿¸å¤Ë¡¢
-Ê̤Υµ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤ëÃͤ˽é´ü²½¤µ¤ì¤ë¤È¤¤¤¦Æ°ºî¤ò·«¤êÊÖ¤·¤Þ¤¹¡£
-¤É¤Á¤é¤Î¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤ë¾ðÊó¤â͸ú¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢
-¼ÂºÝ¾åÌäÂê¤È¤Ï¤Ê¤é¤Ê¤¤¤â¤Î¤Î¡¢º®Íð¤Î¤â¤È¤Ë¤Ê¤ê¤¨¤Þ¤¹¡£
-.SH ´ØÏ¢¹àÌÜ
+����������̾����ˡ�ϡ�REBIND ��Ʊ�ͤ˥ͥåȥ�������ꤷ��
+(ʣ���Υ�������뤿��˸ƤФ�뤳�Ȥ����뤫��Ǥ�)��
+$routers ����������ǽ�Υ롼���� ping ���뤳�ȤǤ���
+���������������硢
+���ե�������������³����Ƥ���ͥåȥ�����Ф��ơ������ͭ���Ǥ���
+$new_static_routers �˲ä���
+$new_routers �����Ƥ������롼���� ping ���褦�ˤʤ�С�
+�������������Ǥ��礦�������������ߤΥ�����ץȤϤ����ʤäƤ��ޤ���
+.SH ��Ϣ�ե�����
+����������ڥ졼�ƥ������ƥ���Ф��륹����ץȥե������
+���Ƥ���������Ʊ�����⤷��ޤ������̤ˤϡ�
+�ƥ��ڥ졼�ƥ������ƥ��Ѥ˳ơ��Υ�����ץȥե����뤬����٤��Ǥ���
+Internet Systems Consortium �� DHCP ���ۤ˴ޤޤ�륹����ץȥե�����ϡ�
+client/scripts �ʲ������ۥĥ�ˤ��ꡢ
+ư���оݥ��ڥ졼�ƥ������ƥ�̾�ˤʤäƤ��ޤ���
+.SH �Х�
+ʣ�����ե���������Ѥ����硢
+�����Ф���������ѥ���Ʊ�Τ�
+���ͤ��ʤ��褦�ˤ������Τ���ˡ�Ϥ���ޤ���
+�㤨�С�
+ɸ��� dhclient-script �� /etc/resolv.conf ����ٽ����Ƥ��ޤ��ޤ���
+���ʤ����ʣ���Υ��ե����������ꤵ��Ƥ����硢
+���륵���Ф���������ͤ� /etc/resolv.conf ����������줿��ˡ�
+�̤Υ����Ф���������ͤ˽���������Ȥ���ư����֤��ޤ���
+�ɤ���Υ����Ф������������ͭ���Ǥ�����ˤϡ�
+�ºݾ�����ȤϤʤ�ʤ���ΤΡ�����Τ�Ȥˤʤꤨ�ޤ���
+.SH ��Ϣ����
dhclient.conf(5), dhclient.leases(5), dhclient(8)
-.SH ºî¼Ô
+.SH ���
.B dhclient-script(8)
-¤Ï Ted Lemon ¤¬
-Vixie Enterprises ¤È¶¨ÎϤ·¤Æ Internet Systems Consortium ¤Î¤¿¤á¤Ë
-½ñ¤¤Þ¤·¤¿¡£
-Internet Systems Consortium ¤Ë¤Ä¤¤¤Æ¤è¤ê¾Ü¤·¤¯¤Ï¡¢
+�� Ted Lemon ��
+Vixie Enterprises �ȶ��Ϥ��� Internet Systems Consortium �Τ����
+�ޤ�����
+Internet Systems Consortium �ˤĤ��Ƥ��ܤ����ϡ�
.B https://www.isc.org
-¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
-Vixie Enterprises ¤Ë¤Ä¤¤¤Æ¤è¤ê¾Ü¤·¤¯¤Ï¡¢
+��������������
+Vixie Enterprises �ˤĤ��Ƥ��ܤ����ϡ�
.B http://www.vix.com
-¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
+��������������
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
.\" %FreeBSD: src/contrib/isc-dhcp/client/dhclient.8,v 1.8.2.3 2002/04/11 10:16:45 murray Exp %
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/dhclient.8,v 1.8 2002/05/21 03:46:48 horikawa Exp $
-.\" WORD: Dynamic Host Configuration Protocol (DHCP) ưŪ¥Û¥¹¥ÈÀßÄê¥×¥í¥È¥³¥ë
-.\" WORD: lease ¥ê¡¼¥¹ [dhclient.8]
-.\" WORD: mobile host °ÜÆ°¥Û¥¹¥È
-.\" WORD: limited broadcast address ¥ê¥ß¥Æ¥Ã¥É¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥ɥ쥹
-.\" WORD: networking framework ¥Í¥Ã¥È¥ï¡¼¥¥ó¥°¥Õ¥ì¡¼¥à¥ï¡¼¥¯
-.\" WORD: housekeeping chores ȬȚ
+.\" WORD: Dynamic Host Configuration Protocol (DHCP) ưŪ�ۥ�������ץ��ȥ���
+.\" WORD: lease ��� [dhclient.8]
+.\" WORD: mobile host ��ư�ۥ���
+.\" WORD: limited broadcast address ��ߥƥåɥ֥����ɥ��㥹�ȥ��ɥ쥹
+.\" WORD: networking framework �ͥåȥ���ե졼����
+.\" WORD: housekeeping chores ����
.TH dhclient 8
-.SH ̾¾Î
-dhclient - ưŪ¥Û¥¹¥ÈÀßÄê¥×¥í¥È¥³¥ë¤Î¥¯¥é¥¤¥¢¥ó¥È
-.SH ½ñ¼°
+.SH ̾��
+dhclient - ưŪ�ۥ�������ץ��ȥ���Υ��饤�����
+.SH ��
.B dhclient
[
.B -p
.I ...ifN
]
]
-.SH ²òÀâ
-Internet Systems Consortium ¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ç¤¢¤ë dhclient
-¤ÏưŪ¥Û¥¹¥ÈÀßÄê¥×¥í¥È¥³¥ë (DHCP: Dynamic Host Configuration Protocol)
-¤Þ¤¿¤Ï BOOTP ¥×¥í¥È¥³¥ë¤òÍѤ¤¤Æ¡¢¤¢¤ë¤¤¤Ï
-¤³¤ì¤é¤Î¥×¥í¥È¥³¥ë¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¥¢¥É¥ì¥¹¤òÀÅŪ¤Ë³ä¤êÅö¤Æ¤Æ¡¢
-1 ¤Ä°Ê¾å¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀßÄꤹ¤ëÊýË¡¤òÄ󶡤·¤Þ¤¹¡£
-.SH Áàºî
+.SH ����
+Internet Systems Consortium �� DHCP ���饤����ȤǤ��� dhclient
+��ưŪ�ۥ�������ץ��ȥ��� (DHCP: Dynamic Host Configuration Protocol)
+�ޤ��� BOOTP �ץ��ȥ�����Ѥ��ơ����뤤��
+�����Υץ��ȥ��뤬���Ԥ������ˤϥ��ɥ쥹����Ū�˳�����Ƥơ�
+1 �İʾ�Υͥåȥ�����ե����������ꤹ����ˡ�����ޤ���
+.SH ���
.PP
-DHCP ¥×¥í¥È¥³¥ë¤Ç¤Ï¡¢1 ¤Ä°Ê¾å¤Î¥µ¥Ö¥Í¥Ã¥È¤Ë³ä¤êÅö¤Æ¤ë¤³¤È¤Î¤Ç¤¤ë
-IP ¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤ò´ÉÍý¤¹¤ëÃæ±û¥µ¡¼¥Ð¤Ë¡¢¥Û¥¹¥È¤¬¥¢¥¯¥»¥¹¤Ç¤¤Þ¤¹¡£
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¤³¤Î¥ê¥¹¥È¤«¤é¥¢¥É¥ì¥¹¤òÍ׵ᤷ¤Æ¡¢
-¤½¤ì¤ò¥Í¥Ã¥È¥ï¡¼¥¯ÄÌ¿®¤Î°ì»þŪ¤ÊÅÚÂæ¤ËÍѤ¤¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤Þ¤¿ DHCP ¥×¥í¥È¥³¥ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥ë¡¼¥¿¤Î¾ì½ê¤ä¥Í¡¼¥à¥µ¡¼¥Ð¤Î¾ì½ê¤Ê¤É¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬Àܳ¤·¤Æ¤¤¤ë¥Í¥Ã¥È¥ï¡¼¥¯¤Ë´Ø¤¹¤ë½ÅÍפʾðÊó¤ò
-¥¯¥é¥¤¥¢¥ó¥È¤Ë¾ÜºÙ¤ËÃΤ餻¤ëµ¡¹½¤âÄ󶡤·¤Þ¤¹¡£
+DHCP �ץ��ȥ���Ǥϡ�1 �İʾ�Υ��֥ͥåȤ˳�����Ƥ뤳�ȤΤǤ���
+IP ���ɥ쥹�Υꥹ�Ȥ����������������Фˡ��ۥ��Ȥ����������Ǥ��ޤ���
+DHCP ���饤����ȤϤ��Υꥹ�Ȥ��饢�ɥ쥹���ᤷ�ơ�
+�����ͥåȥ���̿��ΰ��Ū��������Ѥ��뤳�Ȥ��Ǥ��ޤ���
+�ޤ� DHCP �ץ��ȥ���ϡ��ǥե���ȥ롼���ξ���͡��ॵ���Фξ��ʤɡ�
+���饤����Ȥ���³���Ƥ���ͥåȥ���˴ؤ�����פʾ����
+���饤����Ȥ˾ܺ٤��Τ餻�뵡�������ޤ���
.PP
-µ¯Æ°»þ¤Ë dhclient ¤Ï
+��ư���� dhclient ��
.IR dhclient.conf
-¤«¤éÀßÄê»Ø¼¨¤òÆɤ߼è¤ê¤Þ¤¹¡£
-¤½¤ì¤«¤é¸½ºß¤Î¥·¥¹¥Æ¥à¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë
-¤¹¤Ù¤Æ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥ê¥¹¥È¤ò¼èÆÀ¤·¤Þ¤¹¡£
-³Æ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÂФ· dhclient ¤Ï DHCP ¥×¥í¥È¥³¥ë¤òÍѤ¤¤ÆÀßÄê¤ò»î¤ß¤Þ¤¹¡£
+��������ؼ����ɤ��ޤ���
+���줫�鸽�ߤΥ����ƥ���Ȥ߹��ޤ�Ƥ���
+���٤ƤΥͥåȥ�����ե������Υꥹ�Ȥ�������ޤ���
+�ƥ��ե��������Ф� dhclient �� DHCP �ץ��ȥ�����Ѥ���������ߤޤ���
.PP
-¥·¥¹¥Æ¥à¥ê¥Ö¡¼¥È¤ä¥µ¡¼¥ÐºÆµ¯Æ°¤ÎºÝ¤Ë¥ê¡¼¥¹¤ò¼º¤ï¤Ê¤¤¤è¤¦¤Ë¡¢
-dhclient ¤Ï³ä¤êÅö¤Æ¤é¤ì¤¿¥ê¡¼¥¹¤Î¥ê¥¹¥È¤ò
-dhclient.leases(5) ¥Õ¥¡¥¤¥ë¤ËÊݸ¤·¤Þ¤¹¡£
-µ¯Æ°»þ¡¢dhclient.conf ¥Õ¥¡¥¤¥ë¤òÆɤ߼è¤Ã¤¿¸塢
-dhclient ¤Ï dhclient.leases ¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤ó¤Ç¡¢
-³ä¤êÅö¤Æ¤é¤ì¤¿¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¥á¥â¥ê¤ò¹¹¿·¤·¤Þ¤¹¡£
+�����ƥ��֡��Ȥ䥵���кƵ�ư�κݤ˥����ʤ��褦�ˡ�
+dhclient �ϳ�����Ƥ�줿����Υꥹ�Ȥ�
+dhclient.leases(5) �ե��������¸���ޤ���
+��ư����dhclient.conf �ե�������ɤ�ä��塢
+dhclient �� dhclient.leases �ե�������ɤ߹���ǡ�
+������Ƥ�줿����˴ؤ����������ޤ���
.PP
-¿·¤·¤¤¥ê¡¼¥¹¤ò¼èÆÀ¤¹¤ë¤È¡¢dhclient.leases ¥Õ¥¡¥¤¥ë¤ÎËöÈø¤ËÉÕ¤±²Ã¤¨¤é¤ì¤Þ¤¹¡£
-¥Õ¥¡¥¤¥ë¤¬¶Ëü¤ËÂ礤¯¤Ê¤ë¤Î¤òËɤ°¤¿¤á¤Ë¡¢
-dhclient ¤Ï»þ¤ª¤ê¥³¥¢ÆâÉô¤Î¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é
-¿·µ¬¤Ë dhclient.leases ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£
-¸Å¤¤ dhclient.leases ¥Õ¥¡¥¤¥ë¤Ï¡¢
-dhclient ¤¬¼¡¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºî¤êÂؤ¨¤ë¤Þ¤Ç¡¢
+������������������ȡ�dhclient.leases �ե�������������դ��ä����ޤ���
+�ե����뤬��ü���礭���ʤ�Τ��ɤ�����ˡ�
+dhclient �ϻ����ꥳ�������Υ���ǡ����١�������
+������ dhclient.leases �ե������������ޤ���
+�Ť� dhclient.leases �ե�����ϡ�
+dhclient �����˥ǡ����١��������ؤ���ޤǡ�
.IR dhclient.leases~
-¤È¤¤¤¦Ì¾Á°¤ÇÊݸ¤µ¤ì¤Þ¤¹¡£
+�Ȥ���̾������¸����ޤ���
.PP
-dhclient ¤¬ºÇ½é¤Ëµ¯Æ°¤µ¤ì¤¿¤È¤
-(°ìÈÌŪ¤Ë¤Ï¥·¥¹¥Æ¥à¥Ö¡¼¥È½é´ü²áÄø¤Î´Ö) ¤Ë DHCP ¥µ¡¼¥Ð¤¬ÍøÍѤǤ¤Ê¤±¤ì¤Ð¡¢
-¸Å¤¤¥ê¡¼¥¹¤Ï»Ä¤µ¤ì¤Þ¤¹¡£
-¤½¤Î¾ì¹ç¡¢dhclient.leases ¥Õ¥¡¥¤¥ë¤«¤é
-¤Þ¤À´ü¸Â¤ÎÀÚ¤ì¤Æ¤¤¤Ê¤¤¸Å¤¤¥ê¡¼¥¹¤ò¸¡ºº¤·¡¢
-ͭ¸ú¤Ç¤¢¤ë¤ÈȽÃǤµ¤ì¤ì¤Ð¡¢¤½¤ì¤é¤Î´ü¸Â¤¬ÀÚ¤ì¤뤫
-¤Þ¤¿¤Ï DHCP ¥µ¡¼¥Ð¤¬ÍøÍѤǤ¤ë¤è¤¦¤Ë¤Ê¤ë¤Þ¤Ç¡¢¤½¤Î¥ê¡¼¥¹¤ò»È¤¤¤Þ¤¹¡£
+dhclient ���ǽ�˵�ư���줿�Ȥ�
+(����Ū�ˤϥ����ƥ�֡��Ƚ�������δ�) �� DHCP �����Ф����ѤǤ��ʤ���С�
+�Ť�����ϻĤ���ޤ���
+���ξ�硢dhclient.leases �ե����뤫��
+�ޤ����¤��ڤ�Ƥ��ʤ��Ť����������
+ͭ���Ǥ����Ƚ�Ǥ����С������δ��¤��ڤ�뤫
+�ޤ��� DHCP �����Ф����ѤǤ���褦�ˤʤ�ޤǡ����Υ����Ȥ��ޤ���
.PP
-DHCP ¥µ¡¼¥Ð¤¬Â¸ºß¤·¤Ê¤¤¥Í¥Ã¥È¥ï¡¼¥¯¤Ë»þ¤ª¤ê¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬
-¤¢¤ë¤è¤¦¤Ê°ÜÆ°¥Û¥¹¥È¤Ï¡¢¤½¤Î¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¸ÇÄꥢ¥É¥ì¥¹¤Î¥ê¡¼¥¹¤ò
-¤¢¤é¤«¤¸¤áÆɤ߹þ¤ó¤Ç¤ª¤¯¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-DHCP ¥µ¡¼¥Ð¤Ø¤Î¥¢¥¯¥»¥¹¤¬¤É¤ì¤âÀ®¸ù¤·¤Ê¤«¤Ã¤¿¾ì¹硢
-dhclient ¤Ï¤½¤ÎÀÅŪ¤Ê¥ê¡¼¥¹¤¬Í¸ú¤Ç¤¢¤ë¤«¸¡¾Ú¤·¡¢
-ͭ¸ú¤Ç¤¢¤ì¤Ð¼¡¤ËºÆµ¯Æ°¤µ¤ì¤ë¤Þ¤Ç¤½¤Î¥ê¡¼¥¹¤ò»È¤¤¤Þ¤¹¡£
+DHCP �����Ф�¸�ߤ��ʤ��ͥåȥ���˻����ꥢ����������ɬ�פ�
+����褦�ʰ�ư�ۥ��Ȥϡ����Υͥåȥ����θ��ꥢ�ɥ쥹�Υ����
+���餫�����ɤ߹���Ǥ������Ȥ��Ǥ��ޤ���
+DHCP �����ФؤΥ����������ɤ���������ʤ��ä���硢
+dhclient �Ϥ�����Ū�ʥ����ͭ���Ǥ��뤫���ڤ���
+ͭ���Ǥ���м��˺Ƶ�ư�����ޤǤ��Υ����Ȥ��ޤ���
.PP
-¤Þ¤¿°ÜÆ°¥Û¥¹¥È¤Ï¡¢DHCP ¤ÏÍøÍѤǤ¤Ê¤¤¤¬ BOOTP ¤Ê¤éÍøÍѤǤ¤ë¤è¤¦¤Ê
-¥Í¥Ã¥È¥ï¡¼¥¯¤Ø°ÜÆ°¤¹¤ë¤³¤È¤â¤¢¤ë¤Ç¤·¤ç¤¦¡£
-¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¡¢¸Å¤¤¥ê¡¼¥¹¤ò½ç¼¡»î¤¹¤è¤ê¤⡢
-¤½¤Î¥Í¥Ã¥È¥ï¡¼¥¯¤Î´ÉÍý¼Ô¤ÈÁêÃ̤·¤Æ
-BOOTP ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¨¥ó¥È¥ê¤òºîÀ®¤·¤Æ¤â¤é¤¤¡¢
-¤½¤Î¥Í¥Ã¥È¥ï¡¼¥¯¾å¤ÇÁÇÁ᤯¥Ö¡¼¥È¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¤È¤è¤¤¤Ç¤·¤ç¤¦¡£
-.SH ¥³¥Þ¥ó¥É¥é¥¤¥ó
+�ޤ���ư�ۥ��Ȥϡ�DHCP �����ѤǤ��ʤ��� BOOTP �ʤ����ѤǤ���褦��
+�ͥåȥ���ذ�ư���뤳�Ȥ⤢��Ǥ��礦��
+���Τ褦�ʾ��ϡ��Ť������缡����⡢
+���Υͥåȥ���δ����Ԥ����̤���
+BOOTP �ǡ����١����˥���ȥ��������Ƥ�餤��
+���Υͥåȥ���������֡��ȤǤ���褦�ˤ���Ȥ褤�Ǥ��礦��
+.SH ���ޥ�ɥ饤��
.PP
-dhclient ¤¬ÀßÄꤷ¤è¤¦¤È¤¹¤ë¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î̾Á°¤ò
-¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄê¤Ç¤¤Þ¤¹¡£
-¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾¤¬»ØÄꤵ¤ì¤Ê¤±¤ì¤Ð¡¢
-dhclient ¤Ï¤¹¤Ù¤Æ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼±Ê̤·¡¢
-²Äǽ¤Ê¤éÈó¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï½ü¤¤¤Æ¡¢
-¤½¤ì¤¾¤ì¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀßÄꤷ¤è¤¦¤È¤·¤Þ¤¹¡£
+dhclient �����ꤷ�褦�Ȥ���ͥåȥ�����ե�������̾����
+���ޥ�ɥ饤��ǻ���Ǥ��ޤ���
+���ޥ�ɥ饤��ǥ��ե�����̾�����ꤵ��ʤ���С�
+dhclient �Ϥ��٤ƤΥͥåȥ�����ե��������̤���
+��ǽ�ʤ���֥����ɥ��㥹�ȥ��ե������Ͻ����ơ�
+���줾��Υ��ե����������ꤷ�褦�Ȥ��ޤ���
.PP
.B dhclient.conf(5)
-¥Õ¥¡¥¤¥ëÃæ¤Î̾Á°¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ØÄꤹ¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
-¤³¤ÎÊýË¡¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢
-ÀßÄê¥Õ¥¡¥¤¥ëÃæ¤Ç»ØÄꤷ¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤â¤·¤¯¤Ï¥³¥Þ¥ó¥É¹Ô¤Ç
-»ØÄꤷ¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤É¤Á¤é¤«¤À¤±¤òÀßÄꤹ¤ë¤Ç¤·¤ç¤¦¡£
+�ե��������̾���ǥ��ե���������ꤹ�뤳�Ȥ��ǽ�Ǥ���
+������ˡ�ǥ��ե���������ꤷ����硢���饤����Ȥϡ�
+����ե�������ǻ��ꤷ�����ե������⤷���ϥ��ޥ�ɹԤ�
+���ꤷ�����ե������Τɤ��餫���������ꤹ��Ǥ��礦��
.PP
.B -D
-¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢
+�ե饰����ꤹ��ȡ�
.B dhclient
-¤¬
+��
.B dhclient-script
-¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤ¹¤ë¤¿¤á¤ËºîÀ®¤·¤¿¥¹¥¯¥ê¥×¥È¤ò¡¢
+���Ȥ߹�碌�ƻ��Ѥ��뤿��˺�������������ץȤ�
.IR /tmp
-¤ËÊݸ¤µ¤»¤Þ¤¹¡£
+����¸�����ޤ���
.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬É¸½à¥Ý¡¼¥È (¥Ý¡¼¥ÈÈÖ¹æ 68) °Ê³°¤Î¥Ý¡¼¥È¤Ç
-ÂÔµ¡¤ª¤è¤ÓÁ÷¿®¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï
+DHCP ���饤����Ȥ�ɸ��ݡ��� (�ݡ����ֹ� 68) �ʳ��Υݡ��Ȥ�
+�Ե��������������ɬ�פ�������ˤ�
.B -p
-¥Õ¥é¥°¤¬»È¤¨¤Þ¤¹¡£
-¤³¤Î¥Õ¥é¥°¤Ë³¤±¤Æ¡¢dhclient ¤¬»È¤¦ udp ¥Ý¡¼¥ÈÈÖ¹æ¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤ì¤Ï¼ç¤È¤·¤Æ¥Ç¥Ð¥Ã¥°ÌÜŪ¤Ç¤ÏÍÍѤǤ¹¡£
-¥¯¥é¥¤¥¢¥ó¥È¤¬ÂÔµ¡¤ª¤è¤ÓÁ÷¿®¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Ý¡¼¥È¤Ë
-¥Ç¥Õ¥©¥ë¥È¤È¤Ï°ã¤¦¥Ý¡¼¥È¤ò»ØÄꤹ¤ë¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï
-¤â¤¦ 1 ¤ÄÊ̤ÎÁ÷¿®Àè¥Ý¡¼¥È¤â»ÈÍѤ·¤Þ¤¹¡£¤½¤ÎÁ÷¿®Àè¥Ý¡¼¥È¤Ï¡¢
-»ØÄꤷ¤¿Á÷¿®Àè¥Ý¡¼¥È¤è¤ê¤âÂ礤ÊÈÖ¹æ¤ò»ý¤Ã¤¿¤â¤Î¤Ç¤¹¡£
+�ե饰���Ȥ��ޤ���
+���Υե饰��³���ơ�dhclient ���Ȥ� udp �ݡ����ֹ����ꤷ�ޤ���
+����ϼ�Ȥ��ƥǥХå���Ū�Ǥ�ͭ�ѤǤ���
+���饤����Ȥ��Ե�������������뤿��˻��Ѥ���ݡ��Ȥ�
+�ǥե���ȤȤϰ㤦�ݡ��Ȥ���ꤹ���硢���饤����Ȥ�
+�⤦ 1 ���̤�������ݡ��Ȥ���Ѥ��ޤ�������������ݡ��Ȥϡ�
+���ꤷ��������ݡ��Ȥ����礭���ֹ����ä���ΤǤ���
.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Ä̾ï IP ¥¢¥É¥ì¥¹¤ò³ÍÆÀ¤·¤Æ¤¤¤Ê¤¤´Ö
-Ǥ°Õ¤Î¥×¥í¥È¥³¥ë¥á¥Ã¥»¡¼¥¸¤ò¥ê¥ß¥Æ¥Ã¥É¥Ö¥í¡¼¥É¥¥ã¥¹¥È
-¥¢¥É¥ì¥¹¤Ç¤¢¤ë 255.255.255.255 ¤Ø¤ÈÁ÷¿®¤·¤Þ¤¹¡£
-¥Ç¥Ð¥Ã¥°ÌÜŪ¤Ç¡¢¥µ¡¼¥Ð¤¬¤³¤ì¤é¤Î¥á¥Ã¥»¡¼¥¸¤ò¤É¤³¤«Ê̤Υ¢¥É¥ì¥¹¤Ø
-Á÷¿®¤·¤¿Êý¤¬ÊØÍø¤Ê¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
+DHCP ���饤����Ȥϡ��̾� IP ���ɥ쥹��������Ƥ��ʤ���
+Ǥ�դΥץ��ȥ����å��������ߥƥåɥ֥����ɥ��㥹��
+���ɥ쥹�Ǥ��� 255.255.255.255 �ؤ��������ޤ���
+�ǥХå���Ū�ǡ������Ф������Υ�å�������ɤ����̤Υ��ɥ쥹��
+�����������������ʤ��Ȥ�����ޤ���
.B -s
-¥Õ¥é¥°¤Î¸å¤ËÁ÷¿®Àè¤Î IP ¥¢¥É¥ì¥¹¤â¤·¤¯¤Ï¥É¥á¥¤¥ó̾¤ò¤Ä¤±¤Æ»ØÄê
-¤Ç¤¤Þ¤¹¡£
-¥Æ¥¹¥ÈÌÜŪ¤Ç¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬Á÷¿®¤¹¤ëÁ´¤Æ¤Î¥Ñ¥±¥Ã¥È¤Î
-giaddr ¥Õ¥£¡¼¥ë¥É¤ò
+�ե饰�θ��������� IP ���ɥ쥹�⤷���ϥɥᥤ��̾��Ĥ��ƻ���
+�Ǥ��ޤ���
+�ƥ�����Ū�ǡ�DHCP ���饤����Ȥ������������ƤΥѥ��åȤ�
+giaddr �ե�����ɤ�
.B -g
-¥Õ¥é¥°¤ËÁ÷¿®Àè¤Î IP ¥¢¥É¥ì¥¹¤ò³¤±¤¿·Á¤ò»ÈÍѤ¹¤ë¤³¤È¤ÇÀßÄꤹ¤ë
-¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤ì¤Ï¥Æ¥¹¥ÈÌÜŪ¤Î»þ¤Î¤ßÍÍѤʤâ¤Î¤Ç¤¢¤ꡢ
-·ø¼Â¤µ¤ä»È¤¤¤ä¤¹¤µ¤òµá¤á¤ë¾õ¶·¤ÇÆ°ºî¤¹¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤Ï
-¤¤¤±¤Þ¤»¤ó¡£
+�ե饰��������� IP ���ɥ쥹��³����������Ѥ��뤳�Ȥ����ꤹ��
+���Ȥ��Ǥ��ޤ�������ϥƥ�����Ū�λ��Τ�ͭ�Ѥʤ�ΤǤ��ꡢ
+���¤���Ȥ��䤹������������ư��뤳�Ȥ����ꤷ�Ƥ�
+�����ޤ���
.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Ä̾磻¥ó¥¿¥Õ¥§¡¼¥¹¤òÀßÄꤹ¤ë¤Þ¤Ç¤Ï
-¥Õ¥©¥¢¥°¥é¥¦¥ó¥É¤ÇÆ°ºî¤·¡¢¤½¤Î¸å¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ÇÆ°ºî
-¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£dhclient ¤ò¾ï¤Ë¥Õ¥©¥¢¥°¥é¥¦¥ó¥É¤Î
-¥×¥í¥»¥¹¤È¤·¤ÆÆ°ºî¤µ¤»¤ë¤¿¤á¤Ë¤Ï¡¢
+DHCP ���饤����Ȥϡ��̾磻�ե����������ꤹ��ޤǤ�
+�ե������饦��ɤ�ư������θ�Хå����饦��ɤ�ư��
+����褦�ˤʤ�ޤ���dhclient ���˥ե������饦��ɤ�
+�ץ������Ȥ���ư����뤿��ˤϡ�
.B -d
-¥Õ¥é¥°¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬
-¥Ç¥Ð¥Ã¥¬¤Î¤â¤È¤ÇÆ°ºî¤·¤Æ¤¤¤ë¾ì¹ç¤ä¡¢System V ¥·¥¹¥Æ¥à¤Î
-inittab ¤Î³°Â¦¤ÇÆ°ºî¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï͸ú¤Ê¤â¤Î¤Ç¤¹¡£
+�ե饰����ꤹ��ɬ�פ�����ޤ�������ϡ�DHCP ���饤����Ȥ�
+�ǥХå��Τ�Ȥ�ư��Ƥ�����䡢System V �����ƥ��
+inittab �γ�¦��ư��Ƥ�����ˤ�ͭ���ʤ�ΤǤ���
.PP
-¤³¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Ä̾ï¤Ïµ¯Æ°¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¡¢¥¢¥É¥ì¥¹¤ò
-³ÍÆÀ¤¹¤ë¤Þ¤Çɸ½à¥¨¥é¡¼½ÐÎϤ˥ץí¥È¥³¥ë¥·¡¼¥±¥ó¥¹¤ò
-½ñ¤½Ð¤·¤Þ¤¹¡£¥¢¥É¥ì¥¹¤ò³ÍÆÀ¤·¤¿¸å¤Ï
+���Υ��饤����Ȥϡ��̾�ϵ�ư��å�������ɽ���������ɥ쥹��
+��������ޤ�ɸ�२�顼���Ϥ˥ץ��ȥ��륷������
+�Ф��ޤ������ɥ쥹������������
.B syslog (3)
-¥Õ¥¡¥·¥ê¥Æ¥£¤ò»ÈÍѤ·¤Æ¥á¥Ã¥»¡¼¥¸¤Î¥í¥°¤ò¼è¤ë¤À¤±¤Ë¤Ê¤ê¤Þ¤¹¡£
+�ե�����ƥ�����Ѥ��ƥ�å������Υ�����������ˤʤ�ޤ���
.B -q
-¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤È¡¢¥¨¥é¡¼°Ê³°¤Î¥á¥Ã¥»¡¼¥¸¤òɸ½à¥¨¥é¡¼½ÐÎϤË
-½ñ¤½Ð¤µ¤Ê¤¤¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+�ե饰����Ѥ���ȡ����顼�ʳ��Υ�å�������ɸ�२�顼���Ϥ�
+�Ф��ʤ��褦�ˤʤ�ޤ���
.PP
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢DHCP ¥×¥í¥È¥³¥ë¤ÇµÁ̳¤Å¤±¤é¤ì¤Æ¤¤¤Ê¤¤¤¿¤ᡢ
-Ä̾ï¤Ï¸½ºß¼èÆÀ¤·¤Æ¤¤¤ë¥ê¡¼¥¹¤ò³«Êü¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¤¿¤À¡¢¥±¡¼¥Ö¥ë ISP ¤Î¤Ê¤«¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬
-³ä¤êÅö¤Æ¤é¤ì¤¿IP ¥¢¥É¥ì¥¹¤ò³«Êü¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢¥µ¡¼¥Ð¤Ë
-ÄÌÃΤ¹¤ë¤è¤¦¤ËµÁ̳¤Å¤±¤Æ¤¤¤ë¤È¤³¤í¤â¤¢¤ê¤Þ¤¹¡£
+���饤����Ȥϡ�DHCP �ץ��ȥ���ǵ�̳�Ť����Ƥ��ʤ����ᡢ
+�̾�ϸ��������Ƥ������������뤳�ȤϤ���ޤ���
+�����������֥� ISP �Τʤ��ˤϡ����饤����Ȥ�
+������Ƥ�줿IP ���ɥ쥹�������������ˤϡ������Ф�
+���Τ���褦�˵�̳�Ť��Ƥ���Ȥ����⤢��ޤ���
.B -r
-¥Õ¥é¥°¤òÍѤ¤¤ë¤È¡¢ÌÀ¼¨Åª¤Ë¸½ºß¤Î¥ê¡¼¥¹¤ò³«Êü¤·¡¢¤¤¤Ã¤¿¤ó
-¥ê¡¼¥¹¤ò³«Êü¤¹¤ë¤È¥¯¥é¥¤¥¢¥ó¥È¤Ï½ªÎ»¤·¤Þ¤¹¡£
+�ե饰���Ѥ���ȡ�����Ū�˸��ߤΥ�������������ä���
+�����������ȥ��饤����ȤϽ�λ���ޤ���
.PP
.B -1
-¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢
-dhclient ¤Ï¤Ò¤È¤Ä¤Î¥ê¡¼¥¹¤ËÂФ· 1 ÅÙ¤À¤±¤·¤«¼èÆÀ¤ò»î¤ß¤Þ¤»¤ó¡£
-¤â¤·¼èÆÀ¤Ë¼ºÇÔ¤¹¤ì¤Ð dhclient ¤Ï½ªÎ»¥³¡¼¥É 2 ¤Ç½ªÎ»¤·¤Þ¤¹¡£
+�ե饰����ꤹ��ȡ�
+dhclient �ϤҤȤĤΥ�����Ф� 1 �٤��������������ߤޤ���
+�⤷�����˼��Ԥ���� dhclient �Ͻ�λ������ 2 �ǽ�λ���ޤ���
.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Ä̾ï¤ÏÀßÄê¾ðÊó¤ò
+DHCP ���饤����Ȥϡ��̾����������
.B ETCDIR/dhclient.conf
-¤«¤é¡¢¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò
+���顢����ǡ����١�����
.B DBDIR/dhclient.leases
-¤«¤é¼èÆÀ¤·¡¢¼«Ê¬¤Î¥×¥í¥»¥¹ ID ¤ò
+�������������ʬ�Υץ����� ID ��
.B RUNDIR/dhclient.pid
-¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ËÊݸ¤·¡¢
-¤½¤·¤Æ¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò
+�Ȥ���̾���Υե��������¸����
+�����ƥͥåȥ�����ե�������
.B CLIENTBINDIR/dhclient-script
-¤ò»ÈÍѤ·¤ÆÀßÄꤷ¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ËÊ̤Î̾Á°¤ò»ØÄꤷ¤¿¤ê¡¢Ê̤ξì½ê¤ò
-»ØÄꤷ¤¿¤ê¤¹¤ë¤Ë¤Ï¡¢¤½¤ì¤¾¤ì
+����Ѥ������ꤷ�ޤ���
+�����Υե�������̤�̾������ꤷ���ꡢ�̤ξ���
+���ꤷ���ꤹ��ˤϡ����줾��
.B -cf,
.B -lf,
.B -pf
-¤ª¤è¤Ó
+�����
.B -sf
-¥Õ¥é¥°¤ò¡¢¸å¤í¤Ë¥Õ¥¡¥¤¥ë̾¤ò³¤±¤ë·Á¤Ç»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤ÎÊýË¡¤Ï¡¢Î㤨¤Ð DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬µ¯Æ°¤·¤¿¤È¤¤Ë
+�ե饰����˥ե�����̾��³������ǻ��Ѥ��Ƥ���������
+������ˡ�ϡ��㤨�� DHCP ���饤����Ȥ���ư�����Ȥ���
.B DBDIR
-¤â¤·¤¯¤Ï
+�⤷����
.B RUNDIR
-¤¬¤Þ¤À¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤ÏÆäËÍÍѤʤâ¤Î¤Ë
-¤Ê¤êÆÀ¤Þ¤¹¡£
+���ޤ��ޥ���Ȥ���Ƥ��ʤ����ˤ��ä�ͭ�Ѥʤ�Τ�
+�ʤ����ޤ���
.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢ÀßÄꤹ¤Ù¤¥Í¥Ã¥È¥ï¡¼¥¯
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òƱÄê¤Ç¤¤Ê¤¤¾ì¹ç¡¢Ä̾ï¤Ï½ªÎ»¤·¤Þ¤¹¡£
-¥é¥Ã¥×¥È¥Ã¥×¥³¥ó¥Ô¥å¡¼¥¿¤ä¥Û¥Ã¥È¥¹¥ï¥Ã¥×²Äǽ¤Ê I/O ¥Ð¥¹¤ò
-»ý¤Ã¤¿¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤Ï¡¢¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬
-¥·¥¹¥Æ¥àµ¯Æ°¸å¤ËÄɲ䵤ì¤ë¤³¤È¤¬¤¢¤êÆÀ¤Þ¤¹¡£
+DHCP ���饤����Ȥϡ����ꤹ�٤��ͥåȥ��
+���ե�������Ʊ��Ǥ��ʤ���硢�̾�Ͻ�λ���ޤ���
+��åץȥåץ���ԥ塼����ۥåȥ���åײ�ǽ�� I/O �Х���
+���ä�����ԥ塼���Ǥϡ��֥����ɥ��㥹�ȥ��ե�������
+�����ƥ൯ư����ɲä���뤳�Ȥ��������ޤ���
.B -w
-¥Õ¥é¥°¤òÍѤ¤¤ë¤È¡¢¤½¤Î¤è¤¦¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ 1 ¤Ä¤â
-¸«¤Ä¤«¤é¤Ê¤¤¤È¤¤Ë¤â¥¯¥é¥¤¥¢¥ó¥È¤¬½ªÎ»¤·¤Ê¤¤¤è¤¦¤Ë¤Ç¤¤Þ¤¹¡£
-¸å¤Ç
+�ե饰���Ѥ���ȡ����Τ褦�ʥ��ե������� 1 �Ĥ�
+���Ĥ���ʤ��Ȥ��ˤ⥯�饤����Ȥ���λ���ʤ��褦�ˤǤ��ޤ���
+���
.B omshell (8)
-¥×¥í¥°¥é¥à¤ò»ÈÍѤ·¤Æ¡¢¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬Äɲ䵤줿¤ê
-ºï½ü¤µ¤ì¤¿¤ê¤·¤¿¤³¤È¤ò¥¯¥é¥¤¥¢¥ó¥È¤ËÄÌÃΤ¹¤ë¤³¤È¤¬¤Ç¤¡¢
-¤³¤ì¤Ë¤è¤Ã¤Æ¥¯¥é¥¤¥¢¥ó¥È¤¬¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¾å¤Î
-IP ¥¢¥É¥ì¥¹¤òÀßÄꤹ¤ë¤è¤¦»î¤ß¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+�ץ���������Ѥ��ơ��ͥåȥ�����ե��������ɲä��줿��
+������줿�ꤷ�����Ȥ饤����Ȥ����Τ��뤳�Ȥ��Ǥ���
+����ˤ�äƥ��饤����Ȥ����Υ��ե��������
+IP ���ɥ쥹�����ꤹ��褦��ߤ뤳�Ȥ��Ǥ��ޤ���
.PP
.B -n
-¥Õ¥é¥°¤òÍѤ¤¤ë¤³¤È¤Ç¡¢¤É¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤âÀßÄꤷ¤è¤¦¤È
-¤·¤Ê¤¤¤è¤¦¤Ë DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ò»Ø¼¨¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤³¤Î¥Õ¥é¥°¤Ï¡¢¤¤Ã¤È
+�ե饰���Ѥ��뤳�Ȥǡ��ɤΥ��ե����������ꤷ�褦��
+���ʤ��褦�� DHCP ���饤����Ȥ�ؼ����뤳�Ȥ��Ǥ��ޤ���
+���Υե饰�ϡ����ä�
.B -w
-¥Õ¥é¥°¤È¶¦¤Ë»ÈÍѤ¹¤ë¤ÈÍÍѤǤ·¤ç¤¦¡£
+�ե饰�ȶ��˻��Ѥ����ͭ�ѤǤ��礦��
.PP
-IP ¥¢¥É¥ì¥¹¤ò³ÍÆÀ¤¹¤ë¤Þ¤ÇÂԤĤΤǤϤʤ¯¡¢Â¨ºÂ¤Ë¥Ç¡¼¥â¥ó¤È
-¤Ê¤ë¤è¤¦¤Ë¥¯¥é¥¤¥¢¥ó¥È¤ò»Ø¼¨¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+IP ���ɥ쥹���������ޤ��ԤĤΤǤϤʤ���¨�¤˥ǡ�����
+�ʤ�褦�˥��饤����Ȥ�ؼ����뤳�Ȥ�Ǥ��ޤ���
.B -nw
-¥Õ¥é¥°¤òÍ¿¤¨¤ë¤È²Äǽ¤Ç¤¹¡£
-.SH ÀßÄê
-dhclient.conf(5) ¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤ÏÊ̤˲òÀ⤵¤ì¤Æ¤¤¤Þ¤¹¡£
+�ե饰��Ϳ����Ȳ�ǽ�Ǥ���
+.SH ����
+dhclient.conf(5) �ե�����ν��̤˲��⤵��Ƥ��ޤ���
.SH OMAPI
-¤³¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Æ°ºîÃæ¤Ë¤½¤ÎÆ°ºî¤òÄä»ß¤µ¤»¤ë
-¤³¤È¤Ê¤¯¼«Ê¬¼«¿È¤òÀ©¸æ¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Îµ¡Ç½¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
-¤³¤Îµ¡Ç½¤Ï¡¢¥ê¥â¡¼¥È¥ª¥Ö¥¸¥§¥¯¥ÈÁàºî API ¤Ç¤¢¤ë OMAPI ¤ò
-ÍѤ¤¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£OMAPI ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢TCP/IP ¤ò
-»ÈÍѤ·¤Æ¤³¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ËÀܳ¤·¤Þ¤¹¡£¤½¤·¤Æ¡¢
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Î¸½ºß¤Î¾õÂÖ¤ò¸¡ºº¤Ç¤¡¢¤½¤Î¾õÂÖ¤òÊѹ¹¤¹¤ë¤³¤È¤¬
-¤Ç¤¤Þ¤¹¡£
+���� DHCP ���饤����Ȥϡ�ư����ˤ���ư�����ߤ�����
+���Ȥʤ���ʬ���Ȥ�����Ǥ���褦�ˤ��뤿��ε�ǽ�����Ƥ��ޤ���
+���ε�ǽ�ϡ���⡼�ȥ��֥���������� API �Ǥ��� OMAPI ��
+�Ѥ�������Ƥ��ޤ���OMAPI ���饤����Ȥϡ�TCP/IP ��
+���Ѥ��Ƥ��� DHCP ���饤����Ȥ���³���ޤ��������ơ�
+DHCP ���饤����Ȥθ��ߤξ��֤��Ǥ������ξ��֤��ѹ����뤳�Ȥ�
+�Ǥ��ޤ���
.PP
-¥æ¡¼¥¶¥×¥í¥°¥é¥à¤Ç¤Ï¡¢´ðÁäˤ¢¤ë OMAPI ¥×¥í¥È¥³¥ë¤òľÀܼÂÁõ¤¹¤ë
-¤Î¤Ç¤Ï¤Ê¤¯¡¢dhcpctl API ¤â¤·¤¯¤Ï OMAPI ¤½¤Î¤â¤Î¤ò»ÈÍѤ¹¤Ù¤¤Ç¤¹¡£
-dhcpctl ¤Ï¡¢OMAPI ¤¬¼«Æ°¤Ç¹Ô¤Ã¤Æ¤Ï¤¯¤ì¤Ê¤¤»¨»ö¤Î¤¤¤¯¤Ä¤«¤ò°·¤¦
-¥é¥Ã¥Ñ¤Ç¤¹¡£dhcpctl ¤ª¤è¤Ó OMAPI ¤Ë¤Ä¤¤¤Æ¤Ï
-\fBdhcpctl(3)\fR ¤ª¤è¤Ó \fBomapi(3)\fR ¤Ëµ½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¥¯¥é¥¤¥¢¥ó¥È¤òÍѤ¤¤Æ¤ä¤ê¤¿¤¤¤³¤È¤Î¤Û¤È¤ó¤É¤Ï¡¢ÆÃÊÌ¤Ê¥×¥í¥°¥é¥à¤ò
-½ñ¤«¤Ê¤¯¤È¤â \fBomshell(1)\fR ¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤ÆľÀܼ¸½¤Ç¤¤ë
-¤â¤Î¤Ç¤¹¡£
-.SH À©¸æ¥ª¥Ö¥¸¥§¥¯¥È
-À©¸æ¥ª¥Ö¥¸¥§¥¯¥È¤ò»ÈÍѤ¹¤ë¤È¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ò½ªÎ»¤µ¤»¡¢
-ÊÝ»ý¤·¤Æ¤¤¤ë¥ê¡¼¥¹¤ò¤¹¤Ù¤Æ³«Êü¤·¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬Äɲä·¤¿
-DNS ¥ì¥³¡¼¥É¤ò¤¹¤Ù¤Æ¾Ãµî¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤Þ¤¿¡¢¥¯¥é¥¤¥¢¥ó¥È¤ò°ì»þÄä»ß¤µ¤»¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍѤ·¤Æ¤¤¤ë
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÀßÄê¤ò½ü¤¯¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤â¤Ê¤ê¤Þ¤¹¡£
-¤½¤Î¸å¤Ç¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤òºÆµ¯Æ°¤µ¤»¤ë¤³¤È¤¬¤Ç¤¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òºÆÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£Ä̾¥Ï¥¤¥Ð¥Í¡¼¥·¥ç¥ó¤Ë
-Æþ¤ëÁ°¤ä¥é¥Ã¥×¥È¥Ã¥×¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤Ï¥¹¥ê¡¼¥×¤¹¤ëÁ°¤Ë
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ò°ì»þÄä»ß¤µ¤»¤ë¤Ç¤·¤ç¤¦¡£
-¤½¤·¤Æ¡¢ÅŸ»¤¬Ìá¤Ã¤Æ¤¤¿¸å¤Ç DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ò²óÉü¤µ¤»¤ë
-¤Ç¤·¤ç¤¦¡£¤³¤¦¤¹¤ë¤³¤È¤Ç¡¢¥³¥ó¥Ô¥å¡¼¥¿¤¬¥Ï¥¤¥Ð¥Í¡¼¥·¥ç¥ó¤ä
-¥¹¥ê¡¼¥×Ãæ¤Ë¤Ï PC ¥«¡¼¥É¤òÄä»ß¤µ¤»¤Æ¤ª¤¡¢¥³¥ó¥Ô¥å¡¼¥¿¤¬
-¥Ï¥¤¥Ð¥Í¡¼¥·¥ç¥ó¤ä¥¹¥ê¡¼¥×¤«¤éÉüµ¢¤·¤¿¤é°ÊÁ°¤Î¾õÂÖ¤Ë
-ºÆÅÙ½é´ü²½¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ë¤Î¤Ç¤¹¡£
+�桼���ץ������Ǥϡ����äˤ��� OMAPI �ץ��ȥ����ľ�ܼ�������
+�ΤǤϤʤ���dhcpctl API �⤷���� OMAPI ���Τ�Τ���Ѥ��٤��Ǥ���
+dhcpctl �ϡ�OMAPI ����ư�ǹԤäƤϤ���ʤ������Τ����Ĥ���
+��åѤǤ���dhcpctl ����� OMAPI �ˤĤ��Ƥ�
+\fBdhcpctl(3)\fR ����� \fBomapi(3)\fR �˵��Ҥ���Ƥ��ޤ���
+���饤����Ȥ��Ѥ��Ƥ�ꤿ�����ȤΤۤȤ�ɤϡ����̤ʥץ�������
+�ʤ��Ȥ� \fBomshell(1)\fR ���ޥ�ɤ���Ѥ���ľ�ܼ¸��Ǥ���
+��ΤǤ���
+.SH ���楪�֥�������
+���楪�֥������Ȥ���Ѥ���ȡ�DHCP ���饤����Ȥ�λ������
+�ݻ����Ƥ������٤Ƴ����������饤����Ȥ��ɲä���
+DNS �쥳���ɤ٤ƾõ�뤳�Ȥ��Ǥ���褦�ˤʤ�ޤ���
+�ޤ������饤����Ȥ�����ߤ��������饤����Ȥ����Ѥ��Ƥ���
+���ե������������������Ȥ��Ǥ���褦�ˤ�ʤ�ޤ���
+���θ�ǡ�DHCP ���饤����Ȥ�Ƶ�ư�����뤳�Ȥ��Ǥ���
+���ե�����������ꤹ�뤳�Ȥ��Ǥ��ޤ����̾�ϥ��Х͡�������
+���������åץȥåץ���ԥ塼���Ǥϥ���פ�������
+DHCP ���饤����Ȥ�����ߤ�����Ǥ��礦��
+�����ơ��Ÿ�����äƤ������ DHCP ���饤����Ȥ����������
+�Ǥ��礦���������뤳�Ȥǡ�����ԥ塼�����ϥ��Х͡�������
+�������ˤ� PC �����ɤ���ߤ����Ƥ���������ԥ塼����
+�ϥ��Х͡������䥹��פ�����������������ξ��֤�
+���ٽ�������뤳�Ȥ��Ǥ���褦�ˤʤ�ΤǤ���
.PP
-À©¸æ¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï°À¤¬ 1 ¤Ä¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¾õÂÖ°À¤Ç¤¹¡£
-¥¯¥é¥¤¥¢¥ó¥È¤ò½ªÎ»¤µ¤»¤ë¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¾õÂÖ°À¤ò 2 ¤Ë
-ÀßÄꤷ¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤Ï¼«Æ°Åª¤Ë DHCPRELEASE ¤ò¹Ô¤¦¤Ç¤·¤ç¤¦¡£
-¥¯¥é¥¤¥¢¥ó¥È¤ò°ì»þÄä»ß¤µ¤»¤ë¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¾õÂÖ°À¤ò
-3 ¤ËÀßÄꤷ¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤òÉüµ¢¤µ¤»¤ë¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î
-¾õÂÖ°À¤ò 4 ¤ËÀßÄꤷ¤Þ¤¹¡£
-.SH ´ØÏ¢¥Õ¥¡¥¤¥ë
+���楪�֥������Ȥˤ�°���� 1 �Ĥ���ޤ�������Ͼ���°���Ǥ���
+���饤����Ȥ�λ������ˤϡ����饤����Ȥξ���°���� 2 ��
+���ꤷ�ޤ������饤����Ȥϼ�ưŪ�� DHCPRELEASE ��Ԥ��Ǥ��礦��
+���饤����Ȥ�����ߤ�����ˤϡ����饤����Ȥξ���°����
+3 �����ꤷ�ޤ������饤����Ȥ�����������ˤϡ����饤����Ȥ�
+����°���� 4 �����ꤷ�ޤ���
+.SH ��Ϣ�ե�����
.B CLIENTBINDIR/dhclient-script,
.B ETCDIR/dhclient.conf, DBDIR/dhclient.leases, RUNDIR/dhclient.pid,
.B DBDIR/dhclient.leases~
-.SH ´ØÏ¢¹àÌÜ
+.SH ��Ϣ����
dhclient.conf(5), dhclient.leases(5), dhclient-script(8)
-.SH ºî¼Ô
+.SH ���
.B dhclient(8)
-¤Ï Ted Lemon ¤¬
-Vixie Enterprises ¤È¶¨ÎϤ·¤Æ Internet Systems Consortium ¤Î¤¿¤á¤Ë
-½ñ¤¤Þ¤·¤¿¡£
-Internet Systems Consortium ¤Ë¤Ä¤¤¤Æ¤è¤ê¾Ü¤·¤¯¤Ï¡¢
+�� Ted Lemon ��
+Vixie Enterprises �ȶ��Ϥ��� Internet Systems Consortium �Τ����
+�ޤ�����
+Internet Systems Consortium �ˤĤ��Ƥ��ܤ����ϡ�
.B https://www.isc.org
-¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
-Vixie Enterprises ¤Ë¤Ä¤¤¤Æ¤è¤ê¾Ü¤·¤¯¤Ï¡¢
+��������������
+Vixie Enterprises �ˤĤ��Ƥ��ܤ����ϡ�
.B http://www.vix.com
-¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
+��������������
.PP
-ËÜ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢Elliot Poger ¤¬
-Stanford Âç³Ø¤Î MosquitoNet ¥×¥í¥¸¥§¥¯¥È¤Ë»²²Ã¤·¤Æ¤¤¤ë´Ö¤Ë¡¢
-Linux ¤Ç¤ÎÍøÍѤ˺ݤ·ÂçÉý¤Ë½¤Àµ¡¢²þÎɤò¹Ô¤¤¤Þ¤·¤¿¡£
+�ܥ��饤����Ȥϡ�Elliot Poger ��
+Stanford ��ؤ� MosquitoNet �ץ��������Ȥ˻��ä��Ƥ���֤ˡ�
+Linux �Ǥ����Ѥ˺ݤ������˽��������ɤ�Ԥ��ޤ�����
.PP
-¸½ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢Elliot ¤Ë¤è¤ë Linux ¤Ç¤Î²þÎɤËÉ餦¤È¤³¤í¤¬Â礤¤¤Ç¤¹¤¬¡¢
-Internet Systems Consortium ¤Î DHCP ¥µ¡¼¥Ð¤¬»È¤¦¤â¤Î¤ÈƱ¤¸
-¥Í¥Ã¥È¥ï¡¼¥¥ó¥°¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤òÍѤ¤¤ë¤è¤¦¤Ë¡¢Ted Lemon ¤¬
-ÂçÉý¤ÊºÆÊÔÀ®¤äÉôʬŪ¤Ê½ñ¤´¹¤¨¤ò¹Ô¤¤¤Þ¤·¤¿¡£
-¥·¥¹¥Æ¥àÆÃͤÎÀßÄꥳ¡¼¥É¤ÎÂçÉôʬ¤Ï¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Ë°Ü¤µ¤ì¤¿¤Î¤Ç¡¢
-¤è¤ê¿¤¯¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥µ¥Ý¡¼¥È¤¬²Ã¤¨¤é¤ì¤ë¤ˤĤ졢
-¥·¥¹¥Æ¥àÆÃͤÎÀßÄꥳ¡¼¥É¤ò¤½¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë
-°Ü¿¢¤·¤¿¤ê´ÉÍý¤·¤¿¤ê¤¹¤ëɬÍפϤʤ¯¤Ê¤ë¤Ç¤·¤ç¤¦¡£
-Âå¤ï¤ê¤Ë¡¢¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤¬´Ä¶¤Ë¹ç¤Ã¤¿¥Ä¡¼¥ë¤ò¸Æ¤Ó½Ð¤·¤Æ
-¤½¤ÎÌÜŪ¤ò²Ì¤¿¤·¤Æ¤¯¤ì¤Þ¤¹¡£
+���ߤΥС������ϡ�Elliot �ˤ�� Linux �Ǥβ��ɤ��餦�Ȥ������礭���Ǥ�����
+Internet Systems Consortium �� DHCP �����Ф��Ȥ���Τ�Ʊ��
+�ͥåȥ���ե졼�������Ѥ���褦�ˡ�Ted Lemon ��
+�����ʺ���������ʬŪ�ʽ�����Ԥ��ޤ�����
+�����ƥ���ͭ�����ꥳ���ɤ�����ʬ�ϥ����륹����ץȤ˰ܤ��줿�Τǡ�
+���¿���Υ��ڥ졼�ƥ������ƥ�Υ��ݡ��Ȥ��ä�����ˤĤ졢
+�����ƥ���ͭ�����ꥳ���ɤΥ��ڥ졼�ƥ������ƥ��
+�ܿ���������������ꤹ��ɬ�פϤʤ��ʤ�Ǥ��礦��
+����ˡ������륹����ץȤ��Ķ��˹�ä��ġ����ƤӽФ���
+������Ū��̤����Ƥ���ޤ���
.PP
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
.\" %FreeBSD: src/contrib/isc-dhcp/client/dhclient.conf.5,v 1.7.2.1 2002/04/11 10:16:46 murray Exp %
.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/dhclient.conf.5,v 1.6 2002/05/03 03:23:30 horikawa Exp $
-.\" WORD: lease ¥ê¡¼¥¹(¥¢¥É¥ì¥¹¤ÎÂßͿ)[dhclient.conf.5]
-.\" WORD: lease discovery request ¥ê¡¼¥¹È¯¸«Í×µá[dhclient.conf.5]
-.\" WORD: offer (¥ê¡¼¥¹Ä󶡤Î)¿½¤·½Ð¡¢Ä󶡿½¤·½Ð[dhclient.conf.5]
+.\" WORD: lease ���(���ɥ쥹����Ϳ)[dhclient.conf.5]
+.\" WORD: lease discovery request ���ȯ����[dhclient.conf.5]
+.\" WORD: offer (�����)������������[dhclient.conf.5]
.TH dhclient.conf 5
-.SH ̾¾Î
-dhclient.conf - DHCP ¥¯¥é¥¤¥¢¥ó¥ÈÀßÄê¥Õ¥¡¥¤¥ë
-.SH ²òÀâ
-dhclient.conf ¥Õ¥¡¥¤¥ë¤Ë¤Ï
-Internet Systems Consortium ¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ç¤¢¤ë
+.SH ̾��
+dhclient.conf - DHCP ���饤���������ե�����
+.SH ����
+dhclient.conf �ե�����ˤ�
+Internet Systems Consortium �� DHCP ���饤����ȤǤ���
.IR dhclient
-¤ÎÀßÄê¾ðÊ󤬴ޤޤì¤Þ¤¹¡£
-.PP
-dhclient.conf ¤Ï¼«Í³·Á¼°¤Î ASCII ¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ï dhclient ¤ËÁȤ߹þ¤Þ¤ì¤¿ºÆµ¢²¼¹ß¥Ñ¡¼¥¶¤Ë²òÀϤµ¤ì¤Þ¤¹¡£
-¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢À°·Á¤ÎÌÜŪ¤Ç¥¿¥Ö¤ä²þ¹Ô¤ò;ʬ¤Ë´Þ¤á¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-¥Õ¥¡¥¤¥ëÃæ¤Î¥¡¼¥ï¡¼¥É¤Ç¤ÏÂçʸ»ú¾®Ê¸»ú¤ò¶èÊ̤·¤Þ¤»¤ó¡£
-(¥¯¥©¡¼¥ÈÆâ¤Ï½ü¤¤¤Æ) ¥Õ¥¡¥¤¥ëÃæ¤Î¤É¤³¤Ç¤â¥³¥á¥ó¥È¤òÃÖ¤¯¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¥³¥á¥ó¥È¤Ïʸ»ú # ¤Ç»Ï¤Þ¤ê¡¢¹ÔËö¤Ç½ª¤ï¤ê¤Þ¤¹¡£
-.PP
-dhclient.conf ¥Õ¥¡¥¤¥ë¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¤µ¤Þ¤¶¤Þ¤ÊÆ°ºî¤òÀßÄê¤Ç¤¤Þ¤¹¡£
-¤½¤ì¤é¤Ë¤Ï¡¢¥×¥í¥È¥³¥ë¤Î¥¿¥¤¥ß¥ó¥°¡¢¥µ¡¼¥Ð¤ËÂФ·¤ÆÍ׵᤹¤ë¾ðÊó¡¢
-¥µ¡¼¥Ð¤ËÂФ·¤Æɬ¿Ü¤È¤µ¤ì¤ë¾ðÊó¡¢
-¥µ¡¼¥Ð¤¬¾ðÊó¤òÄ󶡤·¤Ê¤«¤Ã¤¿¾ì¹ç¤ËÍѤ¤¤ë¥Ç¥Õ¥©¥ë¥È¡¢
-¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤¿¾ðÊó¤ò¾å½ñ¤¤¹¤ëÃÍ¡¢
-¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤¿¾ðÊó¤ËÁ°ÃÖ¤ä¸åÃÖ¤¹¤ëÃͤʤɤ¬¤¢¤ê¤Þ¤¹¡£
-¤Þ¤¿¡¢DHCP ¥µ¡¼¥Ð¤ò»ý¤¿¤Ê¤¤¥Í¥Ã¥È¥ï¡¼¥¯¤Ç»È¤¦¥¢¥É¥ì¥¹¤Ç¤¢¤äƤ⡢
-¤¢¤é¤«¤¸¤áÀßÄê¥Õ¥¡¥¤¥ë¤Ç½é´ü²½¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-.SH ¥×¥í¥È¥³¥ë¤Î¥¿¥¤¥ß¥ó¥°
-¥¯¥é¥¤¥¢¥ó¥È¤Î¥¿¥¤¥ß¥ó¥°Æ°ºî¤Ï¡¢¥æ¡¼¥¶¤¬ÀßÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
-¥æ¡¼¥¶¤¬¥¿¥¤¥ß¥ó¥°ÀßÄê¤ò¹Ô¤ï¤Ê¤±¤ì¤Ð¡¢
-¥µ¡¼¥Ð¤Ë̵Ãá½ø¤ËÉé²Ù¤òÍ¿¤¨¤¿¤ê¤»¤ºÅ¬»þ¹¹¿·¤ò¹Ô¤¦¤è¤¦¤Ê¡¢
-½¼Ê¬¤ËŬÀڤʥ¿¥¤¥ß¥ó¥°Æ°ºî¤¬¥Ç¥Õ¥©¥ë¥È¤ÇÍѤ¤¤é¤ì¤Þ¤¹¡£
-.PP
-¤·¤«¤·¡¢É¬Íפ˱þ¤¸¤Æ¡¢
-¼¡¤Îʸ¤ò»ØÄꤷ¤Æ DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Î¥¿¥¤¥ß¥ó¥°Æ°ºî¤òÄ´Àá¤Ç¤¤Þ¤¹:
+��������ޤޤ�ޤ���
+.PP
+dhclient.conf �ϼ�ͳ������ ASCII �ƥ����ȥե�����Ǥ���
+���Υե������ dhclient ���Ȥ߹��ޤ줿�Ƶ����ߥѡ����˲��Ϥ���ޤ���
+�ե�����ˤϡ���������Ū�ǥ��֤���Ԥ�;ʬ�˴ޤ�뤳�Ȥ�Ǥ��ޤ���
+�ե�������Υ�����ɤǤ���ʸ����ʸ������̤��ޤ���
+(����������Ͻ�����) �ե�������Τɤ��Ǥ⥳���Ȥ��֤����Ȥ��Ǥ��ޤ���
+�����Ȥ�ʸ�� # �ǻϤޤꡢ�����ǽ����ޤ���
+.PP
+dhclient.conf �ե�����ǡ����饤����ȤΤ��ޤ��ޤ�ư�������Ǥ��ޤ���
+�����ˤϡ��ץ��ȥ���Υ����ߥ������Ф��Ф����᤹�����
+�����Ф��Ф���ɬ�ܤȤ�������
+�����Ф���������ʤ��ä������Ѥ���ǥե���ȡ�
+�����Ф������줿����������͡�
+�����Ф������줿��������֤���֤����ͤʤɤ�����ޤ���
+�ޤ���DHCP �����Ф�����ʤ��ͥåȥ���ǻȤ����ɥ쥹�Ǥ��äƤ⡢
+���餫��������ե�����ǽ�������뤳�Ȥ�Ǥ��ޤ���
+.SH �ץ��ȥ���Υ����ߥ�
+���饤����ȤΥ����ߥ�ư��ϡ��桼�������ꤹ��ɬ�פϤ���ޤ���
+�桼���������ߥ������Ԥ�ʤ���С�
+�����Ф�̵�������٤�Ϳ�����ꤻ��Ŭ��������Ԥ��褦�ʡ�
+��ʬ��Ŭ�ڤʥ����ߥ�ư��ǥե���Ȥ��Ѥ����ޤ���
+.PP
+��������ɬ�פ˱����ơ�
+����ʸ����ꤷ�� DHCP ���饤����ȤΥ����ߥ�ư���Ĵ��Ǥ��ޤ�:
.PP
.B timeout
.I ʸ
.B ;
.PP
.I timeout
-ʸ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥¢¥É¥ì¥¹¤ò·è¤á¤ë»î¤ß¤ò³«»Ï¤·¤Æ¤«¤顢
-¥µ¡¼¥Ð¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬
-¤Ç¤¤Ê¤¤¤ÈȽÃǤ¹¤ë¤Þ¤Ç¤Ë·Ð²á¤¹¤Ù¤»þ´Ö¤ò·è¤á¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤³¤Î¥¿¥¤¥à¥¢¥¦¥ÈÃÍ¤Ï 60 ÉäǤ¹¡£
-¤³¤Î¥¿¥¤¥à¥¢¥¦¥ÈÃͤ¬²á¤®¤¿¸å¤Ï¡¢
-¤â¤·ÀÅŪ¤Ê¥ê¡¼¥¹¤¬ÀßÄê¥Õ¥¡¥¤¥ë¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤«¡¢
-¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Þ¤À´ü¸ÂÀÚ¤ì¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¥ê¡¼¥¹¤¬»Ä¤Ã¤Æ¤¤¤ì¤Ð¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¤½¤ì¤é¤Î¥ê¡¼¥¹¤ò¤Ò¤È¤Ä¤º¤Ä¸¡¾Ú¤·¤Æ¤ß¤Æ¡¢
-¤¤¤º¤ì¤«¤¬Í¸ú¤Ê¤è¤¦¤Ç¤¢¤ì¤Ð¤½¤Î¥ê¡¼¥¹¤Î¥¢¥É¥ì¥¹¤ò»È¤¤¤Þ¤¹¡£
-¤â¤·ÀÅŪ¤Ê¥ê¡¼¥¹¤â¡¢¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î´ü¸Â¤ÎÀÚ¤ì¤Æ¤¤¤Ê¤¤¥ê¡¼¥¹¤Ç
-ͭ¸ú¤Ê¤â¤Î¤â¸ºß¤·¤Ê¤±¤ì¤Ð¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤ÏÄêµÁ¤µ¤ì¤¿ retry ´Ö³Ö¤Î¸å¤Ç¥×¥í¥È¥³¥ë¤òºÆ³«¤µ¤»¤Þ¤¹¡£
+ʸ�ϡ����饤����Ȥ����ɥ쥹������ߤϤ��Ƥ��顢
+�����Ф˥����������뤳�Ȥ�
+�Ǥ��ʤ���Ƚ�Ǥ���ޤǤ˷в᤹�٤����֤���ޤ���
+�ǥե���ȤǤϤ��Υ����ॢ�����ͤ� 60 �äǤ���
+���Υ����ॢ�����ͤ������ϡ�
+�⤷��Ū�ʥ��������ե�������������Ƥ��뤫��
+����ǡ����١����ˤޤ������ڤ�ˤʤäƤ��ʤ�������ĤäƤ���С�
+���饤����ȤϤ����Υ����ҤȤĤ��ĸ��ڤ��Ƥߤơ�
+�����줫��ͭ���ʤ褦�Ǥ���Ф��Υ���Υ��ɥ쥹��Ȥ��ޤ���
+�⤷��Ū�ʥ���⡢����ǡ����١�����δ��¤��ڤ�Ƥ��ʤ������
+ͭ���ʤ�Τ�¸�ߤ��ʤ���С�
+���饤����Ȥ�������줿 retry �ֳ֤θ�ǥץ��ȥ����Ƴ������ޤ���
.PP
.B retry
.I ʸ
\fBretry \fItime\fR\fB;\fR
.PP
.I retry
-ʸ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ DHCP ¥µ¡¼¥Ð¤¬Â¸ºß¤·¤Ê¤¤¤ÈȽÃǤ·¤Æ¤«¤é
-ºÆ¤Ó DHCP ¥µ¡¼¥Ð¤Ë¥¢¥¯¥»¥¹¤ò»î¤ß¤ë¤Þ¤Ç¤Î´Ö¤Ë¡¢·Ð²á¤¹¤ë¤Ù¤»þ´Ö¤ò·è¤á¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤ì¤Ï 5 ʬ¤Ç¤¹¡£
+ʸ�ϡ����饤����Ȥ� DHCP �����Ф�¸�ߤ��ʤ���Ƚ�Ǥ��Ƥ���
+�Ƥ� DHCP �����Ф˥����������ߤ�ޤǤδ֤ˡ��в᤹��٤����֤���ޤ���
+�ǥե���ȤǤϡ������ 5 ʬ�Ǥ���
.PP
.B select-timeout
.I ʸ
.PP
\fBselect-timeout \fItime\fR\fB;\fR
.PP
-¤¢¤ë¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Ç¡¢Ê£¿ô¤Î DHCP ¥µ¡¼¥Ð¤¬¥µ¡¼¥Ó¥¹¤òÄ󶡤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹
-(¤½¤ÎÊý¤¬Ë¾¤Þ¤·¤¤¤È¤¤¤¦°Õ¸«¤â¤¢¤ê¤Þ¤¹)¡£
-¤½¤Î¾ì¹ç¡¢ºÇ½é¤Î¥ê¡¼¥¹È¯¸«¥á¥Ã¥»¡¼¥¸ (lease discovery message)
-¤Ø¤Î±þÅú¤È¤·¤Æ¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬Ê£¿ô¤Î¥ê¡¼¥¹Ä󶡤、·½Ð¤ò¼õ¤±¤ë¤³¤È¤â¤¢¤êÆÀ¤Þ¤¹¡£
-¤½¤ì¤é¤Î¤¦¤Á¡¢¤¢¤ëÄ󶡤¬Â¾¤ÎÄ󶡤è¤ê¤â¹¥¤Þ¤·¤¤¤«¤â¤·¤ì¤Þ¤»¤ó
-(Î㤨¤Ð¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬°ÊÁ°»ÈÍѤ·¤Æ¤¤¤¿¥¢¥É¥ì¥¹¤¬¤¢¤ëÄ󶡤˴ޤޤì¤Æ¤¤¤ë¤¬¡¢
-¾¤ÎÄ󶡤ˤϴޤޤì¤Ê¤¤¤Ê¤É)¡£
+����ͥåȥ����ǡ�ʣ���� DHCP �����Ф������ӥ������뤳�Ȥ�Ǥ��ޤ�
+(��������˾�ޤ����Ȥ����ո��⤢��ޤ�)��
+���ξ�硢�ǽ�Υ��ȯ����å����� (lease discovery message)
+�ؤα����Ȥ��ơ�
+���饤����Ȥ�ʣ���Υ���ο����Ф�����뤳�Ȥ⤢�����ޤ���
+�����Τ�����������¾������ޤ������⤷��ޤ���
+(�㤨�С����饤����Ȥ��������Ѥ��Ƥ������ɥ쥹�������˴ޤޤ�Ƥ��뤬��
+¾���ˤϴޤޤ�ʤ��ʤ�)��
.PP
.I select-timeout
-¤Ï¥¯¥é¥¤¥¢¥ó¥È¤¬ºÇ½é¤Î¥ê¡¼¥¹È¯¸«Í×µá
-¤òÁ÷¿®¤·¤Æ¡¢
-¾¯¤Ê¤¯¤È¤â 1 ¤Ä¤ÎÄ󶡿½¤·½Ð¤ò¼õ¤±¤¿¾ì¹硢
-¥µ¡¼¥Ð¤«¤é¤ÎÄ󶡿½¤·½ÐÂÔ¤Á¤ò¤ä¤á¤ë¤Þ¤Ç¤Î»þ´Ö¤Ç¤¹¡£
-¤⤷
+�ϥ��饤����Ȥ��ǽ�Υ��ȯ����
+���������ơ�
+���ʤ��Ȥ� 1 �Ĥ������Ф��������硢
+�����Ф�����������Ԥ������ޤǤλ��֤Ǥ���
+�⤷
.I select-timeout
-¤¬ÀÚ¤ì¤ë¤Þ¤Ç¤Ë¤É¤³¤«¤é¤âÄ󶡿½¤·½Ð¤ò¼õ¤±¼è¤ì¤Ê¤±¤ì¤Ð¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¤½¤Î¤¢¤ÈºÇ½é¤ËÅþÃ夹¤ëÄ󶡿½¤·½Ð¤ò¼õ¤±Æþ¤ì¤Þ¤¹¡£
+���ڤ��ޤǤˤɤ�����������Ф�������ʤ���С�
+���饤����ȤϤ��Τ��Ⱥǽ�����夹�������Ф��������ޤ���
.PP
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢select-timeout ÃÍ¤Ï 0 ÉäǤ¹¡£
-¤Ä¤Þ¤ê¥¯¥é¥¤¥¢¥ó¥È¤ÏºÇ½é¤Ë¼õ¤±¼è¤ëÄ󶡿½¤·½Ð¤ò¼õ¤±Æþ¤ì¤Þ¤¹¡£
+�ǥե���ȤǤϡ�select-timeout �ͤ� 0 �äǤ���
+�Ĥޤꥯ�饤����ȤϺǽ�˼�����������Ф��������ޤ���
.PP
.B reboot
.I ʸ
.PP
\fBreboot \fItime\fR\fB;\fR
.PP
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢ºÆµ¯Æ°¤¹¤ë¤È¡¢
-ºÇ¸å¤ËÊÝ»ý¤·¤Æ¤¤¤¿¥¢¥É¥ì¥¹¤ò¤Þ¤º¼èÆÀ¤·Ä¾¤½¤¦¤È¤·¤Þ¤¹¡£
-¤³¤ì¤ò INIT-REBOOT (½é´ü¥ê¥Ö¡¼¥È) ¾õÂ֤ȸƤӤޤ¹¡£
-ºÇ¸å¤ËÆ°ºî¤·¤Æ¤¤¤¿¤È¤¤ÈƱ¤¸¥Í¥Ã¥È¥ï¡¼¥¯¤Ë
-¥¯¥é¥¤¥¢¥ó¥È¤¬¤Þ¤ÀÀܳ¤·¤Æ¤¤¤ì¤Ð¡¢¤³¤ì¤¬ºÇ¤âÁÇÁᤤµ¯Æ°Ë¡¤È¤Ê¤ê¤Þ¤¹¡£
+���饤����Ȥϡ��Ƶ�ư����ȡ�
+�Ǹ���ݻ����Ƥ������ɥ쥹��ޤ�������ľ�����Ȥ��ޤ���
+����� INIT-REBOOT (�����֡���) ���֤ȸƤӤޤ���
+�Ǹ��ư��Ƥ����Ȥ���Ʊ���ͥåȥ����
+���饤����Ȥ��ޤ���³���Ƥ���С����줬�Ǥ����ᤤ��ưˡ�Ȥʤ�ޤ���
.I reboot
-ʸ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ºÇ½é¤Ë¸Å¤¤¥¢¥É¥ì¥¹¤ÎºÆ¼èÆÀ¤ò»î¤ß¤Æ¤«¤顢
-¤¢¤¤é¤á¤Æ¿·¤·¤¤¥¢¥É¥ì¥¹¤òȯ¸«¤·¤è¤¦¤È¤¹¤ë¤Þ¤Ç¤Ë¡¢
-·Ð²á¤¹¤Ù¤»þ´Ö¤òÀßÄꤷ¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢reboot ¥¿¥¤¥à¥¢¥¦¥ÈÃÍ¤Ï 10 ÉäǤ¹¡£
+ʸ�ϡ����饤����Ȥ��ǽ�˸Ť����ɥ쥹�κƼ������ߤƤ��顢
+�������ƿ��������ɥ쥹��ȯ�����褦�Ȥ���ޤǤˡ�
+�в᤹�٤����֤����ꤷ�ޤ���
+�ǥե���ȤǤϡ�reboot �����ॢ�����ͤ� 10 �äǤ���
.PP
.B backoff-cutoff
.I ʸ
.PP
\fBbackoff-cutoff \fItime\fR\fB;\fR
.PP
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢»Ø¿ôŪ¤Ê°ì»þÂàÈò (backoff) ¥¢¥ë¥´¥ê¥º¥à¤ò¡¢¤¢¤ëÄøÅÙ¤Î
-Íð¿ôÉÕ¤¤Ç»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤Ï¡¢Â¿¤¯¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬Æ±»þ¤Ë¼«Ê¬¤òÀßÄꤷ¤褦
-¤È¤·¤¿¤È¤¤Ç¤â¡¢¥ê¥¯¥¨¥¹¥È¤¬¥í¥Ã¥¯¤·¤Æ¤·¤Þ¤¦¤³¤È¤¬¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¹¡£
+���饤����Ȥϡ��ؿ�Ū�ʰ������ (backoff) ���르�ꥺ��������٤�
+����դ��ǻ��Ѥ��ޤ�������ϡ�¿���Υ��饤����Ȥ�Ʊ���˼�ʬ�����ꤷ�褦
+�Ȥ����Ȥ��Ǥ⡢�ꥯ�����Ȥ����å����Ƥ��ޤ����Ȥ��ʤ��褦�ˤ��뤿��Ǥ���
.I backoff-cutoff
-ʸ¤Ï¡¢°ì»þÂàÈò¤Ëµö¤µ¤ì¤¿ºÇÂç»þ´Ö¤ò·èÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 2 ʬ¤Ç¤¹¡£
+ʸ�ϡ��������˵����줿������֤���ꤷ�ޤ����ǥե�����ͤ� 2 ʬ�Ǥ���
.PP
.B initial-interval
.I ʸ
\fBinitial-interval \fItime\fR\fB;\fR
.PP
.I initial-interval
-ʸ¤Ï¡¢¥µ¡¼¥Ð¤Ø¤ÎºÇ½é¤Î¥¢¥¯¥»¥¹¤Î»î¤ß¤«¤é¼¡¤Î»î¤ß¤Þ¤Ç¤Î´Ö¤Î»þ´Ö¤ò
-ÀßÄꤷ¤Þ¤¹¡£¥á¥Ã¥»¡¼¥¸¤Î´Ö³Ö¤Ï¡¢¥á¥Ã¥»¡¼¥¸¤ò 1 ²óÁ÷¿®¤¹¤ë¤¿¤Ó¤Ë¡¢
-¸½ºß¤Î´Ö³Ö¤Ë 0 ¤«¤é 1 ¤Î´Ö¤ÎÍð¿ôÃͤò¾è¤¸¤¿¤â¤Î¤Î 2 Çܤò¡¢¸½ºß¤Î´Ö³Ö¤Ë
-²Ã¤¨¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤ÎÃͤ¬ backoff-cutoff Ãͤè¤êÂ礤¯¤Ê¤ë¤È¡¢¤³¤Î»þ´Ö¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 10 ÉäǤ¹¡£
-.SH ¥ê¡¼¥¹Í×µá¤È¥ê¥¯¥¨¥¹¥È
-DHCP ¥×¥í¥È¥³¥ë¤Ç¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤ËÂФ·¡¢ÆÃÄê¤Î¾ðÊó¤òÁ÷¤ë¤褦
-Í׵ᤷ¤¿¤ê¡¢¼õ¤±Æþ¤ì½àÈ÷¤Î¤Ç¤¤Æ¤¤¤Ê¤¤Â¾¤Î¾ðÊó¤ÏÁ÷¤é¤Ê¤¤¤è¤¦¤ËÍ׵ᤷ¤¿¤ê
-¤Ç¤¤Þ¤¹¡£
-¤Þ¤¿¡¢¥µ¡¼¥Ð¤«¤é¤ÎÄ󶡿½¤·½Ð¤Ë¥¯¥é¥¤¥¢¥ó¥È¤ÎɬÍפȤ¹¤ë¾ðÊ󤬴ޤޤì¤Ê¤¤
-¾ì¹ç¤ä¡¢Ä󶡤µ¤ì¤¿¾ðÊ󤬽¼Ê¬¤Ç¤Ê¤¤¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬Ä󶡿½¤·½Ð¤ò
-µñÈݤ¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-.PP
-DHCP ¥µ¡¼¥Ð¤¬ DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ËÁ÷¤ëÄ󶡿½¤·½Ð¤Ë´Þ¤Þ¤ì¤ë¥Ç¡¼¥¿¤Ë¤Ï¡¢
-¤µ¤Þ¤¶¤Þ¤Ê¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
-ÆäËÍ×µá¤Ç¤¤ë¥Ç¡¼¥¿¤Ï \fIDHCP ¥ª¥×¥·¥ç¥ó\fR ¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤Ç¤¹¡£
-DHCP ¥ª¥×¥·¥ç¥ó¤Ï
+ʸ�ϡ������Фؤκǽ�Υ��������λ�ߤ��鼡�λ�ߤޤǤδ֤λ��֤�
+���ꤷ�ޤ�����å������δֳ֤ϡ���å������� 1 ���������뤿�Ӥˡ�
+���ߤδֳ֤� 0 ���� 1 �δ֤�����ͤ�褸����Τ� 2 �ܤ��ߤδֳ֤�
+�ä�����Τˤʤ�ޤ���
+�����ͤ� backoff-cutoff �ͤ���礭���ʤ�ȡ����λ��֤����ꤵ��ޤ���
+�ǥե�����ͤ� 10 �äǤ���
+.SH �����ȥꥯ������
+DHCP �ץ��ȥ���Ǥϡ����饤����Ȥ��饵���Ф��Ф�������ξ��������褦
+�ᤷ���ꡢ������������ΤǤ��Ƥ��ʤ�¾�ξ��������ʤ��褦���ᤷ����
+�Ǥ��ޤ���
+�ޤ��������Ф���������Ф˥��饤����Ȥ�ɬ�פȤ�����ޤޤ�ʤ�
+���䡢���줿����ʬ�Ǥʤ���硢���饤����Ȥ������Ф�
+���ݤ��뤳�Ȥ�Ǥ��ޤ���
+.PP
+DHCP �����Ф� DHCP ���饤����Ȥ����������Ф˴ޤޤ��ǡ����ˤϡ�
+���ޤ��ޤʤ�Τ�����ޤ���
+�ä���Ǥ���ǡ����� \fIDHCP ���ץ����\fR �ȸƤФ���ΤǤ���
+DHCP ���ץ�����
\fBdhcp-options(5)\fR
-¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+���������Ƥ��ޤ���
.PP
.B request
.I ʸ
.PP
\fBrequest [ \fIoption\fR ] [\fB,\fI ... \fIoption\fR ]\fB;\fR
.PP
-request ʸ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¥µ¡¼¥Ð¤ËÂФ·¡¢¤½¤Î
-¥¯¥é¥¤¥¢¥ó¥È¤Ë±þÅú¤¹¤ë¤Ê¤é¤Ð¡¢»ØÄꤷ¤¿¥ª¥×¥·¥ç¥ó¤ÎÃͤòÁ÷¤ë¤褦
-Í׵᤹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-request ʸ¤Ë¤Ï¥ª¥×¥·¥ç¥ó̾¤À¤±¤ò»ØÄꤷ¡¢¥ª¥×¥·¥ç¥ó¥Ñ¥é¥á¡¼¥¿¤Ï»ØÄꤷ¤Þ¤»¤ó¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï
+request ʸ����ꤹ�뤳�Ȥǡ����饤����Ȥϡ������Ф��Ф�������
+���饤����Ȥ˱�������ʤ�С����ꤷ�����ץ������ͤ�����褦
+�᤹��褦�ˤʤ�ޤ���
+request ʸ�ˤϥ��ץ����̾��������ꤷ�����ץ����ѥ����ϻ��ꤷ�ޤ���
+�ǥե���ȤǤ� DHCP ���饤����Ȥ�
subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name
-¥ª¥×¥·¥ç¥ó¤òÍ׵ᤷ¤Þ¤¹¡£
+���ץ������ᤷ�ޤ���
.PP
-¾ì¹ç¤Ë¤è¤Ã¤Æ¤ÏÍ×µá¥ê¥¹¥È¤òÁ´¤¯Á÷¤é¤Ê¤¤¤³¤È¤¬Ë¾¤Þ¤·¤¤¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
-¤½¤¦¤¹¤ë¤¿¤á¤Ë¤Ï¡¢Ã±½ã¤Ë¥Ñ¥é¥á¡¼¥¿¤ò»ØÄꤷ¤Ê¤¤ request ʸ¤ò½ñ¤¤¤Æ²¼¤µ¤¤:
+���ˤ�äƤ���ꥹ�Ȥ���������ʤ����Ȥ�˾�ޤ������Ȥ⤢��ޤ���
+�������뤿��ˤϡ�ñ��˥ѥ�������ꤷ�ʤ� request ʸ��Ʋ�����:
.PP
.nf
request;
.PP
\fBrequire [ \fIoption\fR ] [\fB,\fI ... \fIoption ]\fB;\fR
.PP
-require ʸ¤Ë¤Ï¡¢¤¢¤ëÄ󶡿½¤·½Ð¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬¼õ¤±Æþ¤ì¤ë¤¿¤á¤Ë
-¥µ¡¼¥Ð¤¬Á÷¤ë¤Ù¤¥ª¥×¥·¥ç¥ó¤òÎóµó¤·¤Þ¤¹¡£
-Îóµó¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó¤¹¤Ù¤Æ¤ò´Þ¤Þ¤Ê¤¤Ä󶡿½¤·½Ð¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
+require ʸ�ˤϡ����������Ф饤����Ȥ���������뤿���
+�����Ф�����٤����ץ�������ޤ���
+��줿���ץ���٤Ƥ�ޤޤʤ������Ф�̵�뤵��ޤ���
.PP
.B send
.I ʸ
\fBsend { [ \fIoption declaration\fR ]
[\fB,\fI ... \fIoption declaration\fR ]\fB}\fR
.PP
-send ʸ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢
-»ØÄꤷ¤¿¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿Ãͤǥµ¡¼¥Ð¤ËÁ÷¿®¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤³¤³¤Ç»ØÄê¤Ç¤¤ë¥ª¥×¥·¥ç¥ó¤Ï¡¢
-\fBdhcp-options(5)\fR ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥óÀë¸À¤¹¤Ù¤Æ¤Ç¤¹¡£
-DHCP ¥×¥í¥È¥³¥ë¤Ç¾ï¤ËÁ÷¤é¤ì¤ë¥ª¥×¥·¥ç¥ó¤Ï
-¤³¤³¤Ë»ØÄꤹ¤ë¤Ù¤¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£Ã¢¤·¡¢
-\fBrequested-lease-time\fR ¥ª¥×¥·¥ç¥ó¤ò¥Ç¥Õ¥©¥ë¥È¤Î¥ê¡¼¥¹»þ´Ö (2 »þ´Ö)
-°Ê³°¤ÎÃͤǻØÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤¹¡£¤³¤Îʸ¤ò»È¤¦Â¾¤Î¾ì¹ç¤È¤·¤ÆÌÀ¤é¤«¤Ê
-¤â¤Î¤Ï¡¢¼«Ê¬¤ÈÊ̤μïÎà¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¤ò¶èÊ̤Ǥ¤ë¤è¤¦¤Ê
-¾ðÊó¤ò¡¢¥µ¡¼¥Ð¤ËÂФ·Á÷¿®¤¹¤ë¾ì¹ç¤Ç¤¹¡£
+send ʸ����ꤹ�뤳�Ȥǡ����饤����Ȥϡ�
+���ꤷ�����ץ�������ꤷ���ͤǥ����Ф���������褦�ˤʤ�ޤ���
+�����ǻ���Ǥ��륪�ץ����ϡ�
+\fBdhcp-options(5)\fR ����������Ƥ��륪�ץ����������٤ƤǤ���
+DHCP �ץ��ȥ���Ǿ�������륪�ץ�����
+�����˻��ꤹ��٤��ǤϤ���ޤ���â����
+\fBrequested-lease-time\fR ���ץ�����ǥե���ȤΥ������ (2 ����)
+�ʳ����ͤǻ��ꤹ�뤳�ȤϤǤ��ޤ�������ʸ��Ȥ�¾�ξ��Ȥ������餫��
+��Τϡ���ʬ���̤μ���Υ��饤����ȤȤ���̤Ǥ���褦��
+��������Ф��Ф�����������Ǥ���
.SH ưŪ DNS
-¸½ºß¡¢¥ê¡¼¥¹¤¬³ÍÆÀ¤µ¤ì¤¿ºÝ¤Ë DNS ¤Î¹¹¿·¤ò¹Ô¤¦¤¿¤á¤Î¡¢
-Èó¾ï¤Ë¸ÂÄêŪ¤Ê¥µ¥Ý¡¼¥È¤¬¥¯¥é¥¤¥¢¥ó¥È¤Ë¤¢¤ê¤Þ¤¹¡£
-¤³¤ì¤Ï¥×¥í¥È¥¿¥¤¥×Ū¤Ê¤â¤Î¤Ç¤¢¤ꡢ
-¤ª¤½¤é¤¯¤¢¤Ê¤¿¤¬»×¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¤ÏÆ°¤¤Þ¤»¤ó¡£
-¤â¤·¡¢¤¢¤Ê¤¿¤¬¶öÁ³¤Ë¤â¼«Ê¬¤Î¤È¤³¤í¤Î DNS ¥µ¡¼¥Ð¤Î´ÉÍý¼Ô¤Ç¤¢¤ë¤È¤¤¤¦¤ʤ顢
-¤½¤Î¾ì¹ç¤Ë¸Â¤Ã¤Æ¤ÏÆ°¤¤Þ¤¹¡£¤È¤Æ¤â¤¢¤ê¤½¤¦¤Ë¤Ê¤¤¤³¤È¤Ç¤¹¤¬¡£
+���ߡ�������������줿�ݤ� DNS �ι�����Ԥ�����Ρ�
+���˸���Ū�ʥ��ݡ��Ȥ����饤����Ȥˤ���ޤ���
+����ϥץ��ȥ�����Ū�ʤ�ΤǤ��ꡢ
+�����餯���ʤ����פäƤ���褦�ˤ�ư���ޤ���
+�⤷�����ʤ��������ˤ⼫ʬ�ΤȤ����� DNS �����Фδ����ԤǤ���Ȥ����ʤ顢
+���ξ��˸¤äƤ�ư���ޤ����ȤƤ⤢�ꤽ���ˤʤ����ȤǤ�����
.PP
-¤³¤ì¤òÆ°ºî¤µ¤»¤ë¤¿¤á¤Ë¤Ï¡¢DHCP ¥µ¡¼¥Ð¤ÎÃæ¤Ç
-¸°¤È¥¾¡¼¥ó¤òÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ (¾ÜºÙ¤Ï \fBdhcpd.conf\fR(5) ¤ò»²¾È)¡£
-¤Þ¤¿¡¢¼¡¤Î¤è¤¦¤Ë¥¯¥é¥¤¥¢¥ó¥È¤Ç fqdn ¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹:
+�����ư����뤿��ˤϡ�DHCP �����Ф����
+���ȥ�������������ɬ�פ�����ޤ� (�ܺ٤� \fBdhcpd.conf\fR(5) ��)��
+�ޤ������Τ褦�˥��饤����Ȥ� fqdn ���ץ��������ꤹ��ɬ�פ�����ޤ�:
.PP
.nf
send fqdn.fqdn "grosse.example.com.";
send fqdn.server-update off;
.fi
.PP
-\fIfqdn.fqdn\fR ¥ª¥×¥·¥ç¥ó¤Ï \fBɬ¤º\fR ´°Á´¤Ê¥É¥á¥¤¥ó̾¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¹¹¿·¤¹¤ë¥¾¡¼¥ó¤ËÂФ¹¤ë¥¾¡¼¥óʸ¤ò \fBɬ¤º\fR ÄêµÁ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-\fIfqdn.encoded\fR ¥ª¥×¥·¥ç¥ó¤Ï¡¢»ÈÍѤ·¤Æ¤¤¤ë DHCP ¥µ¡¼¥Ð¤Ë¤è¤Ã¤Æ¤Ï¡¢
-\fIon\fR ¤« \fIoff\fR ¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
+\fIfqdn.fqdn\fR ���ץ����� \fBɬ��\fR �����ʥɥᥤ��̾�Ǥʤ���Фʤ�ޤ���
+�������륾������Ф��륾����ʸ�� \fBɬ��\fR ������ʤ���Фʤ�ޤ���
+\fIfqdn.encoded\fR ���ץ����ϡ����Ѥ��Ƥ��� DHCP �����Фˤ�äƤϡ�
+\fIon\fR �� \fIoff\fR �����ꤹ��ɬ�פ����뤫�⤷��ޤ���
.PP
.B no-client-updates
.I ʸ
.PP
\fBno-client-updates [ \fIflag\fR ] \fB;\fR
.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬Ä¾ÀÜ DNS ¤Î¹¹¿·¤ò¹Ô¤¦¤è¤ê¤⡢
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¥¹¥¯¥ê¥×¥È (\fBdhclient-script(8)\fR »²¾È) ¤ÎÃæ¤Ç
-DNS ¤Î¹¹¿·¤ò¹Ô¤¤¤¿¤¤¾ì¹ç
-(Î㤨¤Ð¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬Ä¾ÀÜ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤
-SIG(0) ǧ¾Ú¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç)
-¤Ë¤Ï¡¢\fBno-client-updates\fR ʸ¤ò»È¤Ã¤Æ¡¢¹¹¿·¤ò¹Ô¤ï¤Ê¤¤¤è¤¦¤Ë
-¥¯¥é¥¤¥¢¥ó¥È¤Ë¶µ¤¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬¹¹¿·¤¹¤ë¤³¤È¤ò˾¤Þ¤Ê¤¤¾ì¹ç¤Ï \fIflag\fR ¤ò \fBtrue\fR ¤Ë¤·¡¢
-¹¹¿·¤¹¤ë¤³¤È¤ò˾¤à¾ì¹ç¤Ï \fIflag\fR ¤ò \fBfalse\fR ¤Ë¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï DNS ¤Î¹¹¿·¤ò¹Ô¤¤¤Þ¤¹¡£
-.PP
-.SH ¥ª¥×¥·¥ç¥ó½¤¾þ»Ò
-¤½¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ë¤È¤Ã¤Æ¼ÂºÝ¤Ë¤ÏŬÀڤǤʤ¤
-¥ª¥×¥·¥ç¥ó¥Ç¡¼¥¿¤ò¼õ¤±¼è¤Ã¤¿¤ê¡¢É¬ÍפʾðÊó¤ò¼õ¤±¼è¤é¤Ê¤«¤Ã¤¿¤ê
-¤¹¤ë¾ì¹ç¤Ç¡¢¤«¤Ä¡¢¤½¤ì¤é¤Î¾ðÊó¤ËÍøÍѲÄǽ¤Ê¥Ç¥Õ¥©¥ë¥È¤ÎÃͤ¬
-¥¯¥é¥¤¥¢¥ó¥È¦¤Ë¸ºß¤¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-¤Þ¤¿¡¢ÍøÍѲÄǽ¤Ç¤Ï¤¢¤ë¤¬¥í¡¼¥«¥ë¤Î¾ðÊó¤ÇÊ䤦ɬÍפΤ¢¤ë¾ðÊó¤ò
-¥¯¥é¥¤¥¢¥ó¥È¤¬¼õ¤±¤È¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£
-¤³¤¦¤¤¤¦¾ì¹ç¤ò°·¤¦¤¿¤á¤Ë¡¢
-¤¤¤¯¤Ä¤«¤Î¥ª¥×¥·¥ç¥ó½¤¾þ»Ò¤¬ÍøÍѤǤ¤Þ¤¹¡£
+DHCP ���饤����Ȥ�ľ�� DNS �ι�����Ԥ����⡢
+DHCP ���饤����ȥ�����ץ� (\fBdhclient-script(8)\fR ����) �����
+DNS �ι�����Ԥ��������
+(�㤨�С�DHCP ���饤����Ȥ�ľ�ܥ��ݡ��Ȥ��Ƥ��ʤ�
+SIG(0) ǧ�ڤ���Ѥ��������)
+�ˤϡ�\fBno-client-updates\fR ʸ��Ȥäơ�������Ԥ�ʤ��褦��
+���饤����Ȥ˶����뤳�Ȥ��Ǥ��ޤ���
+DHCP ���饤����Ȥ��������뤳�Ȥ�˾�ޤʤ����� \fIflag\fR �� \fBtrue\fR �ˤ���
+�������뤳�Ȥ�˾����� \fIflag\fR �� \fBfalse\fR �ˤ��뤳�Ȥˤʤ�ޤ���
+�ǥե���ȤǤ� DHCP ���饤����Ȥ� DNS �ι�����Ԥ��ޤ���
+.PP
+.SH ���ץ������
+���Υ��饤����ȤˤȤäƼºݤˤ�Ŭ�ڤǤʤ�
+���ץ����ǡ����������ä��ꡢɬ�פʾ����������ʤ��ä���
+������ǡ����ġ������ξ�������Ѳ�ǽ�ʥǥե���Ȥ��ͤ�
+���饤�����¦��¸�ߤ����礬����ޤ���
+�ޤ������Ѳ�ǽ�ǤϤ��뤬��������ξ�����䤦ɬ�פΤ�������
+���饤����Ȥ������Ȥ���⤢��ޤ���
+����������������ˡ�
+�����Ĥ��Υ��ץ�����Ҥ����ѤǤ��ޤ���
.PP
.B default
.I ʸ
.PP
\fBdefault [ \fIoption declaration\fR ] \fB;\fR
.PP
-¤¢¤ë¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¡¢
-¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤ëÃͤò¥¯¥é¥¤¥¢¥ó¥È¤¬»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤¬¡¢
-¤â¤·¥µ¡¼¥Ð¤«¤éÃͤ¬Ä󶡤µ¤ì¤Ê¤±¤ì¤Ð
-²¿¤é¤«¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò»È¤¦É¬Íפ¬¤¢¤ë¾ì¹硢
-¤½¤ì¤é¤ÎÃͤò
+���륪�ץ����ˤĤ��ơ�
+�����Ф���������ͤ饤����Ȥ��Ȥ�ʤ���Фʤ�ʤ�����
+�⤷�����Ф����ͤ�����ʤ����
+���餫�Υǥե�����ͤ�Ȥ�ɬ�פ������硢
+�������ͤ�
.B default
-ʸ¤ÇÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+ʸ��������뤳�Ȥ��Ǥ��ޤ���
.PP
.B supersede
.I ʸ
.PP
\fBsupersede [ \fIoption declaration\fR ] \fB;\fR
.PP
-¤¢¤ë¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¡¢
-¤É¤Î¤è¤¦¤ÊÃͤ¬¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤Ƥ⡢
-¾ï¤Ë¥í¡¼¥«¥ë¤ÇÀßÄꤵ¤ì¤¿Ãͤò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹硢
-¤½¤ì¤é¤ÎÃͤò
+���륪�ץ����ˤĤ��ơ�
+�ɤΤ褦���ͤ������Ф�������Ƥ⡢
+��˥�����������ꤵ�줿�ͤ�Ȥ�ʤ���Фʤ�ʤ���硢
+�������ͤ�
.B supersede
-ʸ¤ÇÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+ʸ��������뤳�Ȥ��Ǥ��ޤ���
.PP
.B prepend
.I ʸ
.PP
\fBprepend [ \fIoption declaration\fR ] \fB;\fR
.PP
-¤¢¤ë¥ª¥×¥·¥ç¥ó¤Î½¸¹ç¤Ë¤Ä¤¤¤Æ¡¢¤Þ¤º¥æ¡¼¥¶¤¬Ä󶡤¹¤ëÃͤò»È¤¤¡¢
-¤½¤Î¼¡¤Ë¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤¿Ãͤ¬¤¢¤ì¤Ð¤½¤ì¤ò»È¤¦¾ì¹硢
-¤½¤ì¤é¤ÎÃͤò
+���륪�ץ����ν���ˤĤ��ơ��ޤ��桼���������ͤ�Ȥ���
+���μ��˥����Ф������줿�ͤ�����Ф����Ȥ���硢
+�������ͤ�
.B prepend
-ʸ¤ÇÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+ʸ��������뤳�Ȥ��Ǥ��ޤ���
.B prepend
-ʸ¤ÏÊ£¿ô¤ÎÃͤò¼è¤ë¤³¤È¤Î¤Ç¤¤ë¥ª¥×¥·¥ç¥ó¤Ë¤Î¤ßÍѤ¤¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤³¤ÎÀ©Ìó¤Ï¶¯À©¤µ¤ì¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢
-¤³¤ì¤ò̵»ë¤·¤¿¾ì¹ç¡¢¤É¤Î¤è¤¦¤ÊµóÆ°¤Ë¤Ê¤ë¤«¤ÏͽÁۤǤ¤Þ¤»¤ó¡£
+ʸ��ʣ�����ͤ��뤳�ȤΤǤ��륪�ץ����ˤΤ��Ѥ��뤳�Ȥ��Ǥ��ޤ���
+��������϶���������ΤǤϤ���ޤ���
+�����̵�뤷����硢�ɤΤ褦�ʵ�ư�ˤʤ뤫��ͽ�ۤǤ��ޤ���
.PP
.B append
.I ʸ
.PP
\fBappend [ \fIoption declaration\fR ] \fB;\fR
.PP
-¤¢¤ë¥ª¥×¥·¥ç¥ó¤Î½¸¹ç¤Ë¤Ä¤¤¤Æ¡¢¤Þ¤º¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤¿Ãͤò»È¤¤¡¢
-¤½¤Î¼¡¤Ë¥æ¡¼¥¶¤¬Ä󶡤¹¤ëÃͤ¬¤¢¤ì¤Ð¤½¤ì¤â»È¤¦¾ì¹硢
-¤½¤ì¤é¤ÎÃͤò
+���륪�ץ����ν���ˤĤ��ơ��ޤ������Ф������줿�ͤ�Ȥ���
+���μ��˥桼���������ͤ�����Ф����Ȥ���硢
+�������ͤ�
.B append
-ʸ¤ÇÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+ʸ��������뤳�Ȥ��Ǥ��ޤ���
.B append
-ʸ¤ÏÊ£¿ô¤ÎÃͤò¼è¤ë¤³¤È¤Î¤Ç¤¤ë¥ª¥×¥·¥ç¥ó¤Ë¤Î¤ßÍѤ¤¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤³¤ÎÀ©Ìó¤Ï¶¯À©¤µ¤ì¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢
-¤â¤·°ãÈ¿¤¹¤ë¤Èͽ´ü¤Ç¤¤Ê¤¤·ë²Ì¤È¤Ê¤ê¤Þ¤¹¡£
-.SH ¥ê¡¼¥¹Àë¸À
+ʸ��ʣ�����ͤ��뤳�ȤΤǤ��륪�ץ����ˤΤ��Ѥ��뤳�Ȥ��Ǥ��ޤ���
+��������϶���������ΤǤϤ���ޤ���
+�⤷��ȿ�����ͽ���Ǥ��ʤ���̤Ȥʤ�ޤ���
+.SH ������
.PP
.B lease
-.I Àë¸À
+.I ���
.PP
\fBlease {\fR \fIlease-declaration\fR [ ... \fIlease-declaration ] \fB}\fR
.PP
-¤¢¤ë»þ´Ö (\fB¥×¥í¥È¥³¥ë¤Î¥¿¥¤¥ß¥ó¥°\fR »²¾È) ¤Î¸å¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï
-¥µ¡¼¥Ð¤Ø¤Î¥¢¥¯¥»¥¹¤ËÀ®¸ù¤·¤½¤¦¤Ë¤Ê¤¤¤ÈȽÃǤ¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
-¤½¤Î»þÅÀ¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¼«Ê¬¤¬»ý¤Ã¤Æ¤¤¤ë¡¢¸Å¤¤¥ê¡¼¥¹¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò
-¸«¤Æ¡¢»þ´ÖÀÚ¤ì¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¥ê¡¼¥¹¤ò½ç¤ËÄ´¤Ù¡¢¤½¤³¤Ëµó¤¬¤Ã¤Æ¤¤¤ë
-¥ë¡¼¥¿¤Ë ping ¤ò¹Ô¤Ã¤Æ¡¢¤½¤ì¤¬ÍøÍѲÄǽ¤Ê¥ê¡¼¥¹¤«¤É¤¦¤«¤òÄ´¤Ù¤Þ¤¹¡£
-DHCP ¥µ¡¼¥Ó¥¹¤ä BOOTP ¥µ¡¼¥Ó¥¹¤¬Â¸ºß¤·¤Ê¤¤¥Í¥Ã¥È¥ï¡¼¥¯¤Î¤¿¤á¤Ë¡¢
-1 ¤Ä°Ê¾å¤Î \fI¸ÇÄê\fR ¥ê¡¼¥¹¤ò¥¯¥é¥¤¥¢¥ó¥ÈÀßÄê¥Õ¥¡¥¤¥ë¤ËÄêµÁ¤·¤Æ¤ª¤¤¤Æ¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬¥¢¥É¥ì¥¹¤ò¼«Æ°Åª¤ËÀßÄê¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-¤³¤ì¤Ï
+������� (\fB�ץ��ȥ���Υ����ߥ�\fR ����) �θ塢DHCP ���饤����Ȥ�
+�����ФؤΥ��������������������ˤʤ���Ƚ�Ǥ����礬����ޤ���
+���λ����ǡ����饤����Ȥϼ�ʬ�����äƤ��롢�Ť�����Υǡ����١�����
+���ơ������ڤ�ˤʤäƤ��ʤ��������Ĵ�١������˵äƤ���
+�롼���� ping ��Ԥäơ����줬���Ѳ�ǽ�ʥ�����ɤ�����Ĵ�٤ޤ���
+DHCP �����ӥ��� BOOTP �����ӥ���¸�ߤ��ʤ��ͥåȥ���Τ���ˡ�
+1 �İʾ�� \fI����\fR ����饤���������ե������������Ƥ����ơ�
+���饤����Ȥ����ɥ쥹��ưŪ������Ǥ���褦�ˤ��뤳�Ȥ�Ǥ��ޤ���
+�����
.B lease
-ʸ¤Ç¹Ô¤¤¤Þ¤¹¡£
+ʸ�ǹԤ��ޤ���
.PP
-Ãí°Õ: lease ʸ¤Ï¡¢DHCP ¥µ¡¼¥Ð¤«¤é¼õ¤±¼è¤Ã¤¿¥ê¡¼¥¹¤òµÏ¿¤¹¤ë¤¿¤á¤Ë¡¢
-dhclient.leases ¥Õ¥¡¥¤¥ë¤Ç¤â»È¤ï¤ì¤Þ¤¹¡£
-°Ê²¼¤ËÀâÌÀ¤¹¤ë¥ê¡¼¥¹ÍѤΥ·¥ó¥¿¥Ã¥¯¥¹¤Ë¤Ï
-dhclient.leases ¥Õ¥¡¥¤¥ë¤Ç¤Î¤ßɬÍפʤâ¤Î¤â¤¢¤ê¤Þ¤¹¡£
-ÀâÌÀ¤ò´°Á´¤Ê¤â¤Î¤Ë¤¹¤ë¤¿¤á¡¢¤½¤Î¤è¤¦¤Ê¥·¥ó¥¿¥Ã¥¯¥¹¤â¤³¤³¤Çµ½Ò¤·¤Þ¤¹¡£
+����: lease ʸ�ϡ�DHCP �����Ф��������ä������Ͽ���뤿��ˡ�
+dhclient.leases �ե�����Ǥ�Ȥ��ޤ���
+�ʲ��������������ѤΥ��å����ˤ�
+dhclient.leases �ե�����ǤΤ�ɬ�פʤ�Τ⤢��ޤ���
+���������ʤ�Τˤ��뤿�ᡢ���Τ褦�ʥ��å����⤳���ǵ��Ҥ��ޤ���
.PP
-lease ʸ¤Ï¡¢¥ê¡¼¥¹¥¡¼¥ï¡¼¥É¡¢º¸Ãæ³ç¸Ì¡¢1 ¤Ä°Ê¾å¤Î¥ê¡¼¥¹Àë¸Àʸ¡¢
-±¦Ãæ³ç¸Ì¤¬Â³¤¤¤¿¤â¤Î¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£
-¥ê¡¼¥¹Àë¸À¤È¤·¤Æ¡¢¼¡¤Î¤â¤Î¤¬²Äǽ¤Ç¤¹:
+lease ʸ�ϡ����������ɡ������̡�1 �İʾ�Υ�����ʸ��
+�����̤�³������Τǹ�������ޤ���
+�������Ȥ��ơ����Τ�Τ���ǽ�Ǥ�:
.PP
\fBbootp;\fR
.PP
.B bootp
-ʸ¤Ï¡¢¥ê¡¼¥¹¤¬ DHCP ¥×¥í¥È¥³¥ë¤Ç¤Ï¤Ê¤¯¡¢
-BOOTP ¥×¥í¥È¥³¥ë¤òÍѤ¤¤Æ¼èÆÀ¤µ¤ì¤¿¤³¤È¤ò¼¨¤·¤Þ¤¹¡£
-¤³¤Îʸ¤ò¥¯¥é¥¤¥¢¥ó¥ÈÀßÄê¥Õ¥¡¥¤¥ë¤Ë»ØÄꤹ¤ëɬÍפÏÁ´¤¯¤¢¤ê¤Þ¤»¤ó¡£
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¤³¤Î¹½Ê¸¤ò¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ëÆâ¤Ç»È¤¤¤Þ¤¹¡£
+ʸ�ϡ������ DHCP �ץ��ȥ���ǤϤʤ���
+BOOTP �ץ��ȥ�����Ѥ��Ƽ������줿���Ȥ��ޤ���
+����ʸ�饤���������ե�����˻��ꤹ��ɬ�פ���������ޤ���
+���饤����ȤϤ��ι�ʸ�����ǡ����١����ե�������ǻȤ��ޤ���
.PP
\fBinterface\fR \fB"\fR\fIstring\fR\fB";\fR
.PP
.B interface
-¥ê¡¼¥¹Ê¸¤Ï¡¢¤½¤Î¥ê¡¼¥¹¤ò͸ú¤È¤¹¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼¨¤·¤Þ¤¹¡£
-¤³¤ì¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤Î¥ê¡¼¥¹¤Ï¡¢»ØÄꤵ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-¾å¤Ç¤Î¤ß»ÈÍѤµ¤ì¤Þ¤¹¡£
-¥µ¡¼¥Ð¤«¤é¥ê¡¼¥¹¤ò¼õ¤±¼è¤Ã¤¿¤È¤¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¾ï¤Ë¤½¤Î¥ê¡¼¥¹¤ò¼õ¤±¼è¤Ã¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÈÖ¹æ¤òµÏ¿¤·¤Þ¤¹¡£
-dhclient.conf ¥Õ¥¡¥¤¥ë¤Ç»öÁ°¤Ë¥ê¡¼¥¹¤òÄêµÁ¤·¤Æ¤¤¤ë¾ì¹ç¡¢Í׵ᤵ¤ì¤Æ¤Ê¤¤
-¤Î¤Ç¤¹¤¬¡¢¤½¤Î¥ê¡¼¥¹¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤â¤¢¤ï¤»¤Æ»ØÄꤷ¤Ê¤±¤ì¤Ð
-¤Ê¤ê¤Þ¤»¤ó¡£
+���ʸ�ϡ����Υ����ͭ���Ȥ��륤�ե��������ޤ���
+���줬���ꤵ��Ƥ����硢���Υ���ϡ����ꤵ�줿���ե�����
+��ǤΤ��Ѥ���ޤ���
+�����Ф������������ä��Ȥ���
+���饤����ȤϾ�ˤ��Υ���������ä����ե������ֹ��Ͽ���ޤ���
+dhclient.conf �ե�����ǻ����˥����������Ƥ����硢�ᤵ��Ƥʤ�
+�ΤǤ��������Υ���ǥ��ե������⤢�碌�ƻ��ꤷ�ʤ����
+�ʤ�ޤ���
.PP
\fBfixed-address\fR \fIip-address\fR\fB;\fR
.PP
.B fixed-address
-ʸ¤ÏÆÃÄê¤Î¥ê¡¼¥¹¤Î IP ¥¢¥É¥ì¥¹¤ò»ØÄꤹ¤ëºÝ¤Ë»È¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï¤¹¤Ù¤Æ¤Î lease ʸ¤ËɬÍפǤ¹¡£
-IP ¥¢¥É¥ì¥¹¤Ï (12.34.56.78 ¤Î¤è¤¦¤Ë) ¥É¥Ã¥ÈÉÕ¤ 4 ¤ÄÁÈ·Á¼°¤Ç
-»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+ʸ������Υ���� IP ���ɥ쥹����ꤹ��ݤ˻Ȥ��ޤ���
+����Ϥ��٤Ƥ� lease ʸ��ɬ�פǤ���
+IP ���ɥ쥹�� (12.34.56.78 �Τ褦��) �ɥå��դ� 4 ���ȷ�����
+���ꤷ�ʤ���Фʤ�ޤ���
.PP
\fBfilename "\fR\fIstring\fR\fB";\fR
.PP
.B filename
-ʸ¤Ï»ÈÍѤ¹¤ë¥Ö¡¼¥È¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤ì¤Ïɸ½àŪ¤Ê¥¯¥é¥¤¥¢¥ó¥ÈÀßÄꥹ¥¯¥ê¥×¥È¤Ç¤Ï»È¤ï¤ì¤Þ¤»¤ó¤¬¡¢
-ÀâÌÀ¤Î´°Á´¤ò´ü¤¹¤¿¤á¤Ë¤³¤³¤Ë´Þ¤á¤Æ¤¢¤ê¤Þ¤¹¡£
+ʸ�ϻ��Ѥ���֡��ȥե�����̾����ꤷ�ޤ���
+�����ɸ��Ū�ʥ��饤��������ꥹ����ץȤǤϻȤ��ޤ���
+�����δ������������ˤ����˴ޤ�Ƥ���ޤ���
.PP
\fBserver-name "\fR\fIstring\fR\fB";\fR
.PP
.B server-name
-ʸ¤Ï»ÈÍѤ¹¤ë¥Ö¡¼¥È¥µ¡¼¥Ð̾¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤ì¤âɸ½àŪ¤Ê¥¯¥é¥¤¥¢¥ó¥ÈÀßÄꥹ¥¯¥ê¥×¥È¤Ç¤Ï»È¤ï¤ì¤Þ¤»¤ó¡£
+ʸ�ϻ��Ѥ���֡��ȥ�����̾����ꤷ�ޤ���
+�����ɸ��Ū�ʥ��饤��������ꥹ����ץȤǤϻȤ��ޤ���
.PP
\fBoption\fR \fIoption-declaration\fR\fB;\fR
.PP
.B option
-ʸ¤Ï¡¢¥µ¡¼¥Ð¤«¤éÄ󶡤µ¤ì¤ë¥ª¥×¥·¥ç¥ó¤ÎÃͤò»ØÄꤹ¤ë¤Î¤Ë»È¤¤¤Þ¤¹¡£
-¤¢¤ë¤¤¤Ï¡¢dhclient.conf ¤Ç»öÁ°ÄêµÁ¥ê¡¼¥¹¤¬Àë¸À¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
-¤½¤Î»öÁ°ÄêµÁ¥ê¡¼¥¹¤¬»È¤ï¤ì¤ëºÝ¤Ë¥¯¥é¥¤¥¢¥ó¥ÈÀßÄꥹ¥¯¥ê¥×¥È¤Ç»ÈÍѤ·¤Æ
-Íߤ·¤¤Ãͤò»ØÄꤷ¤Þ¤¹¡£
+ʸ�ϡ������Ф�������륪�ץ������ͤ���ꤹ��Τ˻Ȥ��ޤ���
+���뤤�ϡ�dhclient.conf �ǻ������������������Ƥ�����ˤϡ�
+���λ������������Ȥ���ݤ˥��饤��������ꥹ����ץȤǻ��Ѥ���
+�ߤ����ͤ���ꤷ�ޤ���
.PP
\fBscript "\fIscript-name\fB";\fR
.PP
.B script
-ʸ¤Ï dhcp ¥¯¥é¥¤¥¢¥ó¥ÈÀßÄꥹ¥¯¥ê¥×¥È¤Î¥Ñ¥¹Ì¾¤ò»ØÄꤹ¤ë¤Î¤Ë»È¤¤¤Þ¤¹¡£
-¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¡¢¥¢¥É¥ì¥¹¤òÍ׵ᤷ¤¿¤ê¡¢°ÊÁ°¤ËÄ󶡤µ¤ì¤¿¥¢¥É¥ì¥¹¤ò
-»î¤·¤¿¤ꡢ
-¥ê¡¼¥¹¤ò¼èÆÀ¤·¤Æ¤«¤é¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎºÇ½ªÀßÄê¤ò¹Ô¤Ã¤¿¤ê¤¹¤ëÁ°¤Ë¡¢
-dhcp ¥¯¥é¥¤¥¢¥ó¥È¤¬³Æ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î½é´üÀßÄê¤ò¹Ô¤¦¤Î¤Ë»È¤¤¤Þ¤¹¡£
-¥ê¡¼¥¹¤¬¼èÆÀ¤Ç¤¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢
-»öÁ°ÄêµÁ¥ê¡¼¥¹¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢¤½¤ì¤é¤ò»î¤¹¤¿¤á¤Ë¤³¤Î¥¹¥¯¥ê¥×¥È¤¬»È¤ï¤ì¤Þ¤¹¡£
-¤Þ¤¿¡¢Í¸ú¤Ê¥ê¡¼¥¹¤¬¤Ò¤È¤Ä¤âÆÀ¤é¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ç¤â¡¢¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¡¢
-1 ²ó¤Ï¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£
-¤è¤ê¾Ü¤·¤¯¤Ï¡¢
+ʸ�� dhcp ���饤��������ꥹ����ץȤΥѥ�̾����ꤹ��Τ˻Ȥ��ޤ���
+���Υ�����ץȤϡ����ɥ쥹���ᤷ���ꡢ���������줿���ɥ쥹��
+����ꡢ
+�����������Ƥ��饤�ե������κǽ������Ԥä��ꤹ�����ˡ�
+dhcp ���饤����Ȥ��ƥ��ե������ν�������Ԥ��Τ˻Ȥ��ޤ���
+����������Ǥ��ʤ��ä����ˤϡ�
+������������¸�ߤ����硢����������ˤ��Υ�����ץȤ��Ȥ��ޤ���
+�ޤ���ͭ���ʥ�����ҤȤĤ������ʤ��ä����Ǥ⡢���Υ�����ץȤϡ�
+1 ��ϸƤӽФ���ޤ���
+���ܤ����ϡ�
.B dhclient-script(8)
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�Ȥ��Ƥ���������
.PP
\fBvendor option space "\fIname\fB";\fR
.PP
.B vendor option space
-ʸ¤Ï¡¢vendor-encapsulate-options ¥ª¥×¥·¥ç¥ó¤ò¼õ¿®¤·¤¿¾ì¹硢
-Éü¹æ²½¤Ë¤É¤Î¥ª¥×¥·¥ç¥ó¶õ´Ö¤ò»ÈÍѤ¹¤ë¤Ù¤¤«¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-¥µ¡¼¥Ð¤«¤é¤Î¥Ù¥ó¥À¥ª¥×¥·¥ç¥ó¤ÎÆÃÄê¤Î¥¯¥é¥¹¤òÍ׵᤹¤ë¤¿¤á¤Ë¡¢
-\fIdhcp-vendor-identifier\fR ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¾ÜºÙ¤Ï
+ʸ�ϡ�vendor-encapsulate-options ���ץ��������������硢
+���沽�ˤɤΥ��ץ������֤���Ѥ���٤�������ꤹ�뤿��˻��Ѥ���ޤ���
+�����Ф���Υ٥�����ץ���������Υ��饹���᤹�뤿��ˡ�
+\fIdhcp-vendor-identifier\fR ����Ѥ��뤳�Ȥ��Ǥ��ޤ���
+�ܺ٤�
.B dhcp-options(5)
-¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�Ȥ��Ƥ���������
.PP
\fBmedium "\fImedia setup\fB";\fR
.PP
.B medium
-ʸ¤Ï¡¢Àܳ¤µ¤ì¤Æ¤¤¤ë¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥¿¥¤¥×¤ò¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬
-¼«Æ°Åª¤ËȽÃǤǤ¤Ê¤¤¤è¤¦¤Ê¥·¥¹¥Æ¥à¤Ç»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-ʸ»úÎó media setup ¤Ï¥·¥¹¥Æ¥à°Í¸¤Î¥Ñ¥é¥á¡¼¥¿¤Ç¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹½é´ü²½¤ÎºÝ¤Ë dhcp ¥¯¥é¥¤¥¢¥ó¥ÈÀßÄꥹ¥¯¥ê¥×¥È¤ËÅϤµ¤ì¤Þ¤¹¡£
-Unix ¤ª¤è¤Ó Unix É÷¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
-¤³¤Î°ú¿ô¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀßÄꤹ¤ë¤È¤¤Ë ifconfig ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë
-ÅϤµ¤ì¤Þ¤¹¡£
-.PP
-¥ê¡¼¥¹¤òÆÀ¤ë¤¿¤á¤Ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀßÄꤹ¤ë
-ºÝ¤Ë¡¢dhcp ¥¯¥é¥¤¥¢¥ó¥È¤¬¥á¥Ç¥£¥¢¥¿¥¤¥× (
+ʸ�ϡ���³����Ƥ���ͥåȥ���Υ����פ�ͥåȥ�����ե�������
+��ưŪ��Ƚ�ǤǤ��ʤ��褦�ʥ����ƥ�ǻȤ����Ȥ��Ǥ��ޤ���
+ʸ���� media setup �ϥ����ƥ��¸�Υѥ����ǡ�
+���ե�����������κݤ� dhcp ���饤��������ꥹ����ץȤ��Ϥ���ޤ���
+Unix ����� Unix ���Υ����ƥ�Ǥϡ�
+���ΰ����ϥ��ե����������ꤹ��Ȥ��� ifconfig ���ޥ�ɥ饤���
+�Ϥ���ޤ���
+.PP
+��������뤿��˥��ե����������ꤹ��
+�ݤˡ�dhcp ���饤����Ȥ���ǥ��������� (
.B media
-ʸ¤ò»²¾È) ¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢dhcp ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ò
-¼«Æ°Åª¤ËÀë¸À¤·¤Þ¤¹¡£¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¥á¥Ç¥£¥¢¥¿¥¤¥×¤Î
-ÀßÄê¤òɬÍפȤ¹¤ë¾ì¹ç¤Ï (¤¹¤ë¾ì¹ç¤Ë¸Â¤ê)¡¢¤³¤Îʸ¤ò»öÁ°ÄêµÁ¥ê¡¼¥¹¤Ç
-»ÈÍѤ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+ʸ��) ����Ѥ����硢dhcp ���饤����Ȥϡ����Υѥ�����
+��ưŪ��������ޤ����ͥåȥ�����ե���������ǥ��������פ�
+�����ɬ�פȤ������ (������˸¤�)������ʸ�������������
+���Ѥ��ʤ���Фʤ�ޤ���
.PP
\fBrenew\fR \fIdate\fB;\fR
.PP
.PP
\fBexpire\fR \fIdate\fB;\fR
.PP
-\fBrenew\fR ʸ¤Ï¡¢¸½ºß»ÈÍÑÃæ¤Î¥ê¡¼¥¹¤ò¹¹¿· (renew) ¤¹¤ë¤¿¤á¤Ë¡¢
-dhcp ¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍÑÃæ¤Î¥ê¡¼¥¹¤òÄ󶡤·¤Æ¤¯¤ì¤¿¥µ¡¼¥Ð¤Ø¤Î¥¢¥¯¥»¥¹¤Î
-»î¤ß¤ò³«»Ï¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤Æü»þ¤òÄêµÁ¤·¤Þ¤¹¡£\fBrebind\fR ʸ¤Ï¡¢
-¥ê¡¼¥¹¤ò¹¹¿·¤¹¤ë¤¿¤á¤Ë¡¢dhcp ¥¯¥é¥¤¥¢¥ó¥È¤¬ \fI¤¤¤º¤ì¤«¤Î\fR dhcp
-¥µ¡¼¥Ð¤Ø¤Î¥¢¥¯¥»¥¹¤Î»î¤ß¤ò³«»Ï¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤Æü»þ¤òÄêµÁ¤·¤Þ¤¹¡£
-\fBexpire\fR ʸ¤Ï¡¢¥ê¡¼¥¹¤Î¹¹¿·¤Î¤¿¤á¤Ë¥µ¡¼¥Ð¤Ë¥¢¥¯¥»¥¹¤Ç¤¤Ê¤«¤Ã¤¿¾ì¹硢
-dhcp ¥¯¥é¥¤¥¢¥ó¥È¤¬¤½¤Î¥ê¡¼¥¹¤Î»ÈÍѤòÄä»ß¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤Æü»þ¤ò
-ÄêµÁ¤·¤Þ¤¹¡£
+\fBrenew\fR ʸ�ϡ���������Υ���� (renew) ���뤿��ˡ�
+dhcp ���饤����Ȥ�������Υ�������Ƥ��줿�����ФؤΥ���������
+��ߤϤ��ʤ���Фʤ�ʤ�������������ޤ���\fBrebind\fR ʸ�ϡ�
+��������뤿��ˡ�dhcp ���饤����Ȥ� \fI�����줫��\fR dhcp
+�����ФؤΥ��������λ�ߤϤ��ʤ���Фʤ�ʤ�������������ޤ���
+\fBexpire\fR ʸ�ϡ�����ι����Τ���˥����Ф˥��������Ǥ��ʤ��ä���硢
+dhcp ���饤����Ȥ����Υ���λ��Ѥ���ߤ��ʤ���Фʤ�ʤ�������
+������ޤ���
.PP
-¤³¤ì¤é¤ÎÀë¸À¤Ï¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬ÆÀ¤¿¥ê¡¼¥¹Ãæ¤Ç¤Ï¼«Æ°Åª¤ËÀßÄꤵ¤ì¤Þ¤¹¡£
-»öÁ°ÄêµÁ¥ê¡¼¥¹¤Î¤¦¤Á¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ë͸ú´ü¸Â¤¬²á¤®¤¿¤â¤Î¤ò»ÈÍѤ·¤Æ
-Íߤ·¤¯¤Ê¤¤¤â¤Î¤ÎÃæ¤Ç¤Ï¡¢¤³¤ì¤é¤ÎÀë¸À¤òÀßÄꤷ¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
+����������ϡ�DHCP ���饤����Ȥ����������Ǥϼ�ưŪ�����ꤵ��ޤ���
+�����������Τ�����DHCP ���饤����Ȥ�ͭ�����¤������Τ���Ѥ���
+�ߤ����ʤ���Τ���Ǥϡ���������������ꤷ�Ƥ���ɬ�פ�����ޤ���
.PP
-date ¤Ï°Ê²¼¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡£
+date �ϰʲ��Τ褦�˻��ꤷ�ޤ���
.PP
\fI<weekday> <year>\fB/\fI<month>\fB/\fI<day>
<hour>\fB:\fI<minute>\fB:\fI<second>\fR
.PP
-weekday ¤Ï¡¢¿Í´Ö¤¬¸«¤Æ¥ê¡¼¥¹´ü¸Â¤ò¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ë¸ºß¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢0 ¤«¤é 6 ¤Þ¤Ç¤Î¿ô»ú¤Ç»ØÄꤷ¤Þ¤¹¡£0 ¤ÏÆüÍËÆü¤Ç¤¹¡£year ¤ÏÀ¤µª
-¹þ¤ß¤Ç»ØÄꤷ¤Þ¤¹¡£¤Ç¤¹¤«¤é¡¢ËÜÅö¤ËŤ¤¥ê¡¼¥¹¤òÊ̤ˤ¹¤ë¤È¡¢É¬¤º 4 ·å¤Ë
-¤Ê¤ë¤Ï¤º¤Ç¤¹¡£month ¤Ï 1 (1 ·î¤òɽ¤·¤Þ¤¹) ¤«¤é»Ï¤Þ¤ë¿ô»ú¤Ç»ØÄꤷ¤Þ¤¹¡£
-day ¤ÏƱÍÍ¤Ë 1 ¤«¤é»Ï¤Þ¤ë (·î¤Ë¤ª¤±¤ë) Æü¤È¤·¤Æ»ØÄꤷ¤Þ¤¹¡£hour ¤Ï¡¢
-0 ¤«¤é 23 ¤Î´Ö¤Î¿ô»ú¤Ç¤¹¡£minute ¤È second ¤Ï¤È¤â¤Ë 0 ¤«¤é 59 ¤Î´Ö¤Î
-¿ô»ú¤ò»ØÄꤷ¤Þ¤¹¡£
-.SH ¥¨¥¤¥ê¥¢¥¹Àë¸À
+weekday �ϡ��ʹ֤����ƥ�����¤�狼��䤹�����뤿���¸�ߤ��ޤ���
+����ϡ�0 ���� 6 �ޤǤο����ǻ��ꤷ�ޤ���0 ���������Ǥ���year ������
+���ߤǻ��ꤷ�ޤ����Ǥ����顢������Ĺ��������̤ˤ���ȡ�ɬ�� 4 ���
+�ʤ�Ϥ��Ǥ���month �� 1 (1 ���ɽ���ޤ�) ����Ϥޤ�����ǻ��ꤷ�ޤ���
+day ��Ʊ�ͤ� 1 ����Ϥޤ� (��ˤ�����) ���Ȥ��ƻ��ꤷ�ޤ���hour �ϡ�
+0 ���� 23 �δ֤ο����Ǥ���minute �� second �ϤȤ�� 0 ���� 59 �δ֤�
+��������ꤷ�ޤ���
+.SH �����ꥢ�����
\fBalias { \fI declarations ... \fB}\fR
.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬ TCP/IP ¥í¡¼¥ß¥ó¥° (roaming) ¥×¥í¥È¥³¥ë¤ò¼Â¹Ô¤·¤Æ
-¤¤¤ë¾ì¹ç¡¢DHCP ¤òÍѤ¤¤ÆÆÀ¤é¤ì¤ë¥ê¡¼¥¹¤À¤±¤Ç¤Ê¤¯¡¢»öÁ°¤ËÄêµÁ¤µ¤줿
-IP ¥¨¥¤¥ê¥¢¥¹¤â¡¢¼«Ê¬¤¬»ÈÍѤ¹¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ë
-¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£Internet Systems Consortium ÈÇ DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢
-¸ÇÄꥢ¥É¥ì¥¹Ä¾ÀÜ»ØÄê¤Î¥í¡¼¥ß¥ó¥°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¤½¤Î¼ï¤Î¼Â¸³
-¤¬¤Ç¤¤ë¤è¤¦¤Ë¡¢¤³¤Î dhcp ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢
+DHCP ���饤����Ȥ� TCP/IP �����ߥ� (roaming) �ץ��ȥ����¹Ԥ���
+�����硢DHCP ���Ѥ����������������Ǥʤ���������������줿
+IP �����ꥢ���⡢��ʬ�����Ѥ��륤�ե����������ꤹ��ɬ�פ�����
+��礬����ޤ���Internet Systems Consortium �� DHCP ���饤����Ȥϡ�
+���ꥢ�ɥ쥹ľ�ܻ���Υ����ߥݡ��Ȥ��Ƥ��ޤ������μ�μ¸�
+���Ǥ���褦�ˡ����� dhcp ���饤����Ȥϡ�
.B alias
-Àë¸À¤ò»È¤Ã¤Æ IP ¥¨¥¤¥ê¥¢¥¹¤òÀßÄꤹ¤ë½àÈ÷¤Ï¤Ç¤¤Æ¤¤¤Þ¤¹¡£
-.PP
-alias Àë¸À¤Ï lease Àë¸À¤Ë»÷¤Æ¤¤¤Þ¤¹¡£Ã¢¤·¡¢É¸½à¤Î
-¥¯¥é¥¤¥¢¥ó¥ÈÀßÄꥹ¥¯¥ê¥×¥È¤Ç¤Ï¡¢subnet-mask ¥ª¥×¥·¥ç¥ó°Ê³°¤Î
-¥ª¥×¥·¥ç¥ó¤È¡¢³Æ¼ï͸ú´ü¸Â (expiry times) ¤¬Ìµ»ë¤µ¤ì¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£
-ÉáÄ̤Πalias Àë¸À¤Ç¤Ï¡¢ interface Àë¸À¡¢IP ¥¨¥¤¥ê¥¢¥¹¤Î¤¿¤á¤Î
-¸ÇÄꥢ¥É¥ì¥¹Àë¸À¡¢subnet-mask ¥ª¥×¥·¥ç¥ó¤ò´Þ¤ß¤Þ¤¹¡£alias Àë¸À¤Ë¤Ï
-medium ʸ¤Ï·è¤·¤Æ´Þ¤Þ¤ì¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
-.SH ¤½¤Î¾¤ÎÀë¸À
+�����Ȥä� IP �����ꥢ�������ꤹ������ϤǤ��Ƥ��ޤ���
+.PP
+alias ����� lease ����˻��Ƥ��ޤ���â����ɸ���
+���饤��������ꥹ����ץȤǤϡ�subnet-mask ���ץ����ʳ���
+���ץ����ȡ��Ƽ�ͭ������ (expiry times) ��̵�뤵��������ۤʤ�ޤ���
+���̤� alias ����Ǥϡ� interface �����IP �����ꥢ���Τ����
+���ꥢ�ɥ쥹�����subnet-mask ���ץ�����ޤߤޤ���alias ����ˤ�
+medium ʸ�Ϸ褷�ƴޤޤ�ƤϤʤ�ޤ���
+.SH ����¾�����
\fBreject \fIip-address\fB;\fR
.PP
.B reject
-ʸ¤Ë¤è¤ê¡¢DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï»ØÄꤷ¤¿¥¢¥É¥ì¥¹¤ò¥µ¡¼¥Ð¼±Ê̻ҤȤ·¤Æ»ÈÍѤ¹¤ë
-¥µ¡¼¥Ð¤«¤é¤ÎÄ󶡿½¤·½Ð¤òµñÈݤ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£É¸½à¤Ë½àµò¤·¤Ê¤¤ dhcp
-¥µ¡¼¥Ð¤äÀßÄê¤ò´Ö°ã¤¨¤Æ¤¤¤ë dhcp ¥µ¡¼¥Ð¤Ë¤è¤Ã¤Æ¥¯¥é¥¤¥¢¥ó¥È¤¬ÀßÄꤵ¤ì¤Ê¤¤
-¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢¤³¤Îʸ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤ì¤Ï
-ºÇ¸å¤ÎÉð´ï¤È¤¹¤ë¤Ù¤¤Ç¤¹¡£¤³¤ì¤ËÀèΩ¤Á¡¢Éå¤Ã¤¿ DHCP ¥µ¡¼¥Ð¤òÄɤ¤¤«¤±¤Æ
-¤½¤ì¤òľ¤¹Êý¤¬¤è¤¤¤Ç¤¹¡£
+ʸ�ˤ�ꡢDHCP ���饤����Ȥϻ��ꤷ�����ɥ쥹���м��̻ҤȤ��ƻ��Ѥ���
+�����Ф���������Ф���ݤ���褦�ˤʤ�ޤ���ɸ��˽�ʤ� dhcp
+�����Ф������ְ㤨�Ƥ��� dhcp �����Фˤ�äƥ��饤����Ȥ����ꤵ��ʤ�
+�褦�ˤ��뤿��ˡ�����ʸ����Ѥ��뤳�Ȥ��Ǥ��ޤ����������ʤ��顢�����
+�Ǹ�����Ȥ���٤��Ǥ����������Ω������ä� DHCP �����Ф��ɤ�������
+�����ľ�������褤�Ǥ���
.PP
\fBinterface "\fIname\fB" { \fIdeclarations ... \fB }
.PP
-ʣ¿ô¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ý¤Ä¥¯¥é¥¤¥¢¥ó¥È¤Î¾ì¹ç¡¢DHCP ¤Ç
-ÀßÄꤵ¤ì¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤è¤Ã¤Æ°Û¤Ê¤ëÆ°ºî¤ò¤µ¤»¤ëɬÍפ¬¤¢¤ë¾ì¹礬
-¤¢¤ê¤Þ¤¹¡£lease Àë¸À¤È alias Àë¸À¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥¿¥¤¥ß¥ó¥°¥Ñ¥é¥á¡¼¥¿
-¤ÈÀë¸À¤ò¡¢interface Àë¸À¤Ç°Ï¤à¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤½¤Î¾ì¹ç¡¢°Ϥޤ줿
-¥Ñ¥é¥á¡¼¥¿¤Ï»ØÄꤷ¤¿Ì¾Á°¤Ë¹çÃפ¹¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Î¤ßŬÍѤµ¤ì¤Þ¤¹¡£
-interface Àë¸À¤ò»ý¤¿¤Ê¤¤¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢¤¹¤Ù¤Æ¤Î interface Àë¸À¤Î
-³°Â¦¤ÇÀë¸À¤µ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¡¢¤â¤·¤¯¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄ꤬ŬÍѤµ¤ì¤Þ¤¹¡£
+ʣ���Υͥåȥ�����ե���������ĥ��饤����Ȥξ�硢DHCP ��
+���ꤵ��륤�ե������ˤ�äưۤʤ�ư�����ɬ�פ������礬
+����ޤ���lease ����� alias �����������٤ƤΥ����ߥѥ���
+�������interface ����ǰϤळ�Ȥ��Ǥ��ޤ������ξ�硢�Ϥޤ줿
+�ѥ����ϻ��ꤷ��̾���˹��פ��륤�ե������ˤΤ�Ŭ�Ѥ���ޤ���
+interface ���������ʤ����ե������ϡ����٤Ƥ� interface �����
+��¦��������줿�ѥ������⤷���ϥǥե���Ȥ����꤬Ŭ�Ѥ���ޤ���
.PP
\fBpseudo "\fIname\fR" "\fIreal-name\fB" { \fIdeclarations ... \fB }
.PP
-¾õ¶·¤Ë¤è¤Ã¤Æ¤Ï²¾ÁÛ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÀë¸À¤·¡¢
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤¿¤á¤ÎÀßÄê¤ò¼èÆÀ¤¹¤ë¤è¤¦¤Ë¤¹¤ë¤È
-ÊØÍø¤Ë¤Ê¤êÆÀ¤Þ¤¹¡£
-Ä̾ï DHCP ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë³Æ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢
-¤½¤Î¥ê¡¼¥¹¤ò³ÍÆÀ¤·´ÉÍý¤¹¤ë¤¿¤á¤Ë¡¢
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Î¾õÂÖµ¡³£¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¡£
-²¾ÁÛ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢\fIreal-name\fR ¤È̾ÉÕ¤±¤é¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¾å¤Ç
-²ÔƯ¤·¤Æ¤¤¤ë¡¢¤Þ¤µ¤·¤¯¤â¤¦°ì¤Ä¤Î¾õÂÖµ¡³£¤Ç¤¹¡£
-¤³¤Îµ¡Ç½¤ò»ÈÍѤ¹¤ë¾ì¹硢
-²¾ÁÛ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤È¼ÂºÝ¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎξÊý¤ËÂФ·¤Æ
-¥¯¥é¥¤¥¢¥ó¥È¼±Ê̻ҤòÄ󶡤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¤Þ¤¿¡¢»ÈÍѤ·¤¿¤¤ IP ¥¢¥É¥ì¥¹¤ËÂФ¹¤ë²¾ÁÛ¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÍѤË
-ʬΥ¤µ¤ì¤¿¥¯¥é¥¤¥¢¥ó¥È¥¹¥¯¥ê¥×¥È¤òÄ󶡤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-Î㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹:
+�����ˤ�äƤϲ��ۥ��ե��������������
+DHCP ���饤����Ȥ����Υ��ե������Τ����������������褦�ˤ����
+�����ˤʤ����ޤ���
+�̾� DHCP ���饤����Ȥ����ݡ��Ȥ��Ƥ���ƥ��ե������ϡ�
+���Υ����������������뤿��ˡ�
+DHCP ���饤����Ȥξ��ֵ�����¹Ԥ��Ƥ��ޤ���
+���ۥ��ե������ϡ�\fIreal-name\fR ��̾�դ���줿���ե��������
+��Ư���Ƥ��롢�ޤ������⤦��Ĥξ��ֵ����Ǥ���
+���ε�ǽ����Ѥ����硢
+���ۥ��ե������ȼºݤΥ��ե�������ξ�����Ф���
+���饤����ȼ��̻Ҥ����ʤ���Фʤ�ޤ���
+�ޤ������Ѥ����� IP ���ɥ쥹���Ф��벾�ۥ��ե������Ѥ�
+ʬΥ���줿���饤����ȥ�����ץȤ����ʤ���Фʤ�ޤ���
+�㤨�м��Τ褦�ˤʤ�ޤ�:
.PP
.nf
interface "ep0" {
}
.fi
.PP
-²¾ÁÛ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¤¿¤á¤Î¥¯¥é¥¤¥¢¥ó¥È¥¹¥¯¥ê¥×¥È¤Ï
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò͸ú¤Ë¤·¤¿¤ê̵¸ú¤Ë¤·¤¿¤ê¤¹¤ëÀßÄê¤ò¤¹¤ë¤Ù¤¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-Æäˡ¢¥ê¡¼¥¹¤Î³ÍÆÀ¤ä¹¹¿·¤Î¾õÂÖ¡¢¤½¤·¤Æ¥ê¡¼¥¹¤Î´ü¸ÂÀÚ¤ì¤Î¾õÂÖ¤ò
-¼è¤ê°·¤¦¤¿¤á¤Ë¤Ï¡¢¤½¤Î¤³¤È¤¬É¬ÍפǤ¹¡£
-¾ÜºÙ¤Ï \fBdhclient-script(8)\fR ¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡£
+���ۥ��ե������Τ���Υ��饤����ȥ�����ץȤ�
+���ե�������ͭ���ˤ�����̵���ˤ����ꤹ�������٤��ǤϤ���ޤ���
+�äˡ�����γ����乹���ξ��֡������ƥ���δ����ڤ�ξ��֤�
+��갷������ˤϡ����Τ��Ȥ�ɬ�פǤ���
+�ܺ٤� \fBdhclient-script(8)\fR �Ȥ��Ʋ�������
.PP
\fBmedia "\fImedia setup\fB"\fI [ \fB, "\fImedia setup\fB", \fI... ]\fB;\fR
.PP
.B media
-ʸ¤Ï¡¢IP ¥¢¥É¥ì¥¹¼èÆÀÃæ¤Ë»ÈÍѤ¬»î¤ß¤é¤ì¤ë¡¢¥á¥Ç¥£¥¢ÀßÄê¥Ñ¥é¥á¡¼¥¿¤ò 1 ¤Ä
-°Ê¾åÄêµÁ¤·¤Þ¤¹¡£dhcp ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¥ê¥¹¥ÈÃæ¤Î³Æ media setup ʸ»úÎó¤ò
-½ç¼¡»ÈÍѤ·¡¢¤¢¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¤½¤ì¤ÇÀßÄꤷ¡¢¥Ö¡¼¥È¤ò»î¤ß¤Þ¤¹¡£
-ÂÌÌܤʤé¤Ð¼¡¤Î media setup ʸ»úÎó¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Îʸ¤Ï¡¢
-¥á¥Ç¥£¥¢¥¿¥¤¥×¤ò¸¡½Ð¤¹¤ëǽÎϤò»ý¤¿¤Ê¤¤¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë
-ÂФ·¤ÆÍøÍѤǤ¤Þ¤¹¡£¥µ¡¼¥Ð¤Ø¤Î¥ê¥¯¥¨¥¹¥È¤¬¤Ç¤±þÅú¤¬ÆÀ¤é¤ì¤ë¤â¤Î
-¤Ê¤é¤Ð¡¢¤É¤Î¤è¤¦¤Ê¥á¥Ç¥£¥¢¥¿¥¤¥×¤Ç¤â¤¿¤Ö¤óÀµÅö¤Ç¤¹ (ÊݾڤϤ·¤Þ¤»¤ó¤¬)¡£
-.PP
-media setup ¤Ï¥¢¥É¥ì¥¹¼èÆÀ¤Î½é´ü¥Õ¥§¡¼¥º (DHCPDISCOVER ¥Ñ¥±¥Ã¥È¤È
-DHCPOFFER ¥Ñ¥±¥Ã¥È)¤Ç¤Î¤ß»ÈÍѤµ¤ì¤Þ¤¹¡£¤Ò¤È¤¿¤Ó¥¢¥É¥ì¥¹¤¬¼èÆÀ¤µ¤ì¤ë¤È¡¢
-dhcp ¥¯¥é¥¤¥¢¥ó¥È¤Ï¤½¤Î¥¢¥É¥ì¥¹¤ò¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËµÏ¿¤·¡¢
-¤½¤Î¥¢¥É¥ì¥¹¤òÆÀ¤ëºÝ¤ËÍѤ¤¤¿¥á¥Ç¥£¥¢¥¿¥¤¥×¤òµÏ¿¤·¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¤¬
-¥ê¡¼¥¹¤ò¹¹¿·¤·¤è¤¦¤È¤¹¤ëºÝ¤Ë¤Ï¾ï¤Ë¡¢¤½¤ì¤ÈƱ¤¸¥á¥Ç¥£¥¢¥¿¥¤¥×¤ò»ÈÍѤ·¤Þ¤¹¡£
-¥ê¡¼¥¹¤ò´ü¸ÂÀÚ¤ì¤Ë¤·¤Æ¤Ï¤¸¤á¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥á¥Ç¥£¥¢¥¿¥¤¥×¤ò½ç¤˻
-¾õÂÖ¤ËÌá¤ê¤Þ¤¹¡£
-.\"X .SH SAMPLE ... man-jp ɸ½à¤Ï¤Ê¤ó¤À¤Ã¤¿¤Ã¤±
-.SH »ÈÍÑÎã
-°Ê²¼¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ï¡¢NetBSD 1.3 ¤ò¼Â¹Ô¤¹¤ë¤¢¤ë¥é¥Ã¥×¥È¥Ã¥×¥Þ¥·¥ó¤Ç
-»ÈÍѤµ¤ì¤Æ¤¤¤ë¤â¤Î¤Ç¤¹¡£¤³¤Î¥Þ¥·¥ó¤Ï¡¢IP ¥¨¥¤¥ê¥¢¥¹¤È¤·¤Æ 192.5.5.213¡¢
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹ ep0 (3Com 3C589C) ¤ò¤Ò¤È¤Ä»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥¯¥é¥¤¥¢¥ó¥È
-¤Ï¡¢DHCP ³èÆ°¤¬¤Û¤È¤ó¤É¤Ê¤¤¥Í¥Ã¥È¥ï¡¼¥¯¤Ç»þ´Ö¤ÎÂçÉôʬ¤ò¾ÃÈñ¤¹¤ë¤³¤È¤¬
-¤ï¤«¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¥Ö¡¼¥È´Ö³Ö¤Ï¥Ç¥Õ¥©¥ë¥ÈÃͤ«¤é¤¤¤¯¤Ö¤ó¾®¤µ¤¯¤·¤Æ
-¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Þ¥·¥ó¤ÏÊ£¿ô¥Í¥Ã¥È¥ï¡¼¥¯´Ö¤Ç¥í¡¼¥ß¥ó¥° (°ÜÆ°) ¤·¤Þ¤¹¡£
+ʸ�ϡ�IP ���ɥ쥹������˻��Ѥ���ߤ��롢��ǥ�������ѥ����� 1 ��
+�ʾ�������ޤ���dhcp ���饤����Ȥϡ��ꥹ����γ� media setup ʸ�����
+�缡���Ѥ������륤�ե�����������ꤷ���֡��Ȥ��ߤޤ���
+���ܤʤ�м��� media setup ʸ�������Ѥ��ޤ�������ʸ�ϡ�
+��ǥ��������פФ���ǽ�Ϥ�����ʤ��ͥåȥ�����ե�������
+�Ф������ѤǤ��ޤ��������ФؤΥꥯ�����Ȥ��Ǥ���������������
+�ʤ�С��ɤΤ褦�ʥ�ǥ��������פǤ⤿�֤������Ǥ� (�ݾڤϤ��ޤ���)��
+.PP
+media setup �ϥ��ɥ쥹�����ν���ե����� (DHCPDISCOVER �ѥ��åȤ�
+DHCPOFFER �ѥ��å�)�ǤΤ��Ѥ���ޤ����ҤȤ��ӥ��ɥ쥹�����������ȡ�
+dhcp ���饤����ȤϤ��Υ��ɥ쥹�����ǡ����١����˵�Ͽ����
+���Υ��ɥ쥹������ݤ��Ѥ�����ǥ��������פ�Ͽ���ޤ������饤����Ȥ�
+��������褦�Ȥ���ݤˤϾ�ˡ������Ʊ����ǥ��������פ���Ѥ��ޤ���
+���������ڤ�ˤ��ƤϤ���ơ����饤����Ȥϥ�ǥ��������פ��˻
+���֤����ޤ���
+.\"X .SH SAMPLE ... man-jp ɸ��Ϥʤ���ä��ä�
+.SH ������
+�ʲ�������ե�����ϡ�NetBSD 1.3 ��¹Ԥ��뤢���åץȥåץޥ����
+���Ѥ���Ƥ����ΤǤ������Υޥ���ϡ�IP �����ꥢ���Ȥ��� 192.5.5.213��
+���ե����� ep0 (3Com 3C589C) ��ҤȤĻ��äƤ��ޤ������Υ��饤�����
+�ϡ�DHCP ��ư���ۤȤ�ɤʤ��ͥåȥ���ǻ��֤�����ʬ����뤳�Ȥ�
+�狼�äƤ���Τǡ��֡��ȴֳ֤ϥǥե�����ͤ��餤���֤�������
+����ޤ������Υޥ����ʣ���ͥåȥ���֤ǥ����ߥ� (��ư) ���ޤ���
.nf
option subnet-mask 255.255.255.255;
}
.fi
-¤³¤ì¤Ï dhclient.conf ¥Õ¥¡¥¤¥ë¤È¤·¤Æ¤ÏÈó¾ï¤ËÊ£»¨¤Ê¤â¤Î¤Ç¤¹¡£°ìÈ̤ˡ¢
-³§¤µ¤ó¤¬»ÈÍѤ¹¤ë¤â¤Î¤Ï¤Ï¤ë¤«¤Ë´Êñ¤Ê¤Ï¤º¤Ç¤¹¡£Â¿¤¯¤Î¾ì¹硢dhclient.conf
-¥Õ¥¡¥¤¥ë¤È¤·¤Æ¶õ¤Î¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤À¤±¤Ç½½Ê¬¤Ê¤Ï¤º¤Ç¤¹¡£
-¤Ä¤Þ¤ê¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤǤ褤¤Î¤¬ÉáÄ̤Ǥ¹¡£
-.SH ´ØÏ¢¹àÌÜ
+����� dhclient.conf �ե�����Ȥ��Ƥ�����ʣ���ʤ�ΤǤ������̤ˡ�
+�������Ѥ����ΤϤϤ뤫�˴�ñ�ʤϤ��Ǥ���¿���ξ�硢dhclient.conf
+�ե�����Ȥ��ƶ��Υե������������������ǽ�ʬ�ʤϤ��Ǥ���
+�Ĥޤꡢ�ǥե�����ͤǤ褤�Τ����̤Ǥ���
+.SH ��Ϣ����
dhcp-options(5), dhclient.leases(5), dhclient(8), RFC2132,
RFC2131
-.SH ºî¼Ô
+.SH ���
.B dhclient(8)
-¤Ï Vixie Labs ¤È¤Î·ÀÌó¤Î¤â¤È¤Ç Ted Lemon ¤¬½ñ¤¤Þ¤·¤¿¡£
-ËÜ¥×¥í¥¸¥§¥¯¥È¤Î´ð¶â¤Ï Internet Systems Consortium ¤¬Ä󶡤·¤Þ¤·¤¿¡£
-Internet Systems Consortium ¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¡¢
+�� Vixie Labs �Ȥη���Τ�Ȥ� Ted Lemon ���ޤ�����
+�ܥץ��������Ȥδ��� Internet Systems Consortium �����ޤ�����
+Internet Systems Consortium �˴ؤ������ϡ�
.B https://www.isc.org
-¤Ë¤¢¤ê¤Þ¤¹¡£
+�ˤ���ޤ���
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/dhclient.leases.5,v 1.6 2002/05/05 20:40:23 horikawa Exp $
.TH dhclient.leases 5
-.SH ̾¾Î
-dhclient.leases - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Î¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹
-.SH ²òÀâ
-Internet Systems Consortium ¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢
-³ÍÆÀ¤·¤¿¥ê¡¼¥¹¤Î¤¦¤Á¤Þ¤À͸ú¤Ç¤¢¤ë¤â¤Î¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¡¢
-±Ê³Ū¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÊÝ»ý¤·¤Þ¤¹¡£
-¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢¼«Í³·Á¼°¤Î ASCII ¥Õ¥¡¥¤¥ë¤Ç¤¢¤ꡢ
-¥ê¡¼¥¹ 1 ¤Ä¤Ë¤Ä¤Í¸ú¤ÊÀë¸À¤ò 1 ¤Ä´Þ¤ß¤Þ¤¹¡£
-¤¢¤ë¥ê¡¼¥¹¤ËÂФ·¤ÆÊ£¿ô¤ÎÀë¸À¤¬Åо줹¤ë¾ì¹硢
-¥Õ¥¡¥¤¥ëÃæ¤ÎºÇ¸å¤Î¤â¤Î¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥í¥°¤È¤·¤Æ½ñ¤¹þ¤Þ¤ì¤Þ¤¹¤Î¤Ç¡¢
-¤³¤Î¤è¤¦¤Ê¾õÂ֤ˤʤ뤳¤È¤Ï°Û¾ï¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
+.SH ̾��
+dhclient.leases - DHCP ���饤����ȤΥ���ǡ����١���
+.SH ����
+Internet Systems Consortium �� DHCP ���饤����Ȥϡ�
+������������Τ����ޤ�ͭ���Ǥ����Τ�������뤿��Ρ�
+��³Ū�ʥǡ����١������ݻ����ޤ���
+���Υǡ����١����ϡ���ͳ������ ASCII �ե�����Ǥ��ꡢ
+��� 1 �ĤˤĤ�ͭ��������� 1 �Ĵޤߤޤ���
+���������Ф���ʣ����������о줹���硢
+�ե�������κǸ�Τ�Τ����Ѥ���ޤ���
+���Υե�����ϥ����Ȥ��ƽ��ޤ�ޤ��Τǡ�
+���Τ褦�ʾ��֤ˤʤ뤳�Ȥϰ۾�ǤϤ���ޤ���
.PP
-¥ê¡¼¥¹Àë¸À¤Î½ñ¼°¤Ï¡¢
+�������νϡ�
.B dhclient.conf(5)
-¤Ëµ½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.SH ´ØÏ¢¥Õ¥¡¥¤¥ë
+�˵��Ҥ���Ƥ��ޤ���
+.SH ��Ϣ�ե�����
.B DBDIR/dhclient.leases
-.SH ´ØÏ¢¹àÌÜ
+.SH ��Ϣ����
dhclient(8), dhcp-options(5), dhclient.conf(5),
RFC2132, RFC2131
-.SH ºî¼Ô
+.SH ���
.B dhclient(8)
-¤Ï¡¢Vixie Labs ¤È¤Î·ÀÌó¤Î¤â¤È¤Ç¡¢Ted Lemon ¤¬µ½Ò¤·¤Þ¤·¤¿¡£
-ËÜ¥×¥í¥¸¥§¥¯¥È¤Î»ñ¶â¤Ï¡¢Internet Systems Consortium ¤¬Ä󶡤·¤Þ¤·¤¿¡£
-Internet Systems Consortium ¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¡¢
+�ϡ�Vixie Labs �Ȥη���Τ�Ȥǡ�Ted Lemon �����Ҥ��ޤ�����
+�ܥץ��������Ȥλ��ϡ�Internet Systems Consortium �����ޤ�����
+Internet Systems Consortium �˴ؤ������ϡ�
.B https://www.isc.org
-¤Ë¤¢¤ê¤Þ¤¹¡£
+�ˤ���ޤ���
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/dhcp-eval.5,v 1.2 2002/05/23 04:17:13 horikawa Exp $
.TH dhcp-eval 5
-.SH ̾¾Î
-dhcp-eval - ISC DHCP ¤Ë¤ª¤±¤ë¾ò·ïÉդɾ²Á
-.SH ²òÀâ
-Internet Systems Consortium ¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Ï¡¢¤É¤Á¤é¤â
-¼õ¿®¤¹¤ë¥Ñ¥±¥Ã¥È¤Ë°Í¸¤·¤¿¾ò·ïÉդưºî¤ò¹Ô¤¦Ç½ÎϤò»ý¤Á¤Þ¤¹¡£
-¾ò·ïÉդưºî¤Îʸˡ¤ò¤³¤³¤Ë¼¨¤·¤Þ¤¹¡£
-.SH »²¾È: ¾ò·ïÉդưºî
-¾ò·ïÉդưºî¤Ï¡¢if, else, elsif ʸ¤ò»ÈÍѤ·¤Æ»ØÄꤷ¤Þ¤¹¡£
-¾ò·ïʸ¤Ï¡¢Ä̾ïʸ (option ʸ) ¤¬Åоì²Äǽ¤Ê¾ì½ê¤Ï¤É¤³¤Ë¤Ç¤âÅоì²Äǽ¤Ç¤¢¤ꡢ
-¤Þ¤¿¤³¤Î¤è¤¦¤Êʸ¤ò³ç¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
-¥µ¡¼¥Ð¤Ë¤ª¤±¤ë¾ò·ïʸ¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤³¤È¤¬Â¿¤¤¤Ç¤·¤礦:
+.SH ̾��
+dhcp-eval - ISC DHCP �ˤ��������դ�ɾ��
+.SH ����
+Internet Systems Consortium �� DHCP ���饤����Ȥȥ����Фϡ��ɤ����
+��������ѥ��åȤ˰�¸��������դ�ư���Ԥ�ǽ�Ϥ�����ޤ���
+����դ�ư���ʸˡ���˼����ޤ���
+.SH ����: ����դ�ư��
+����դ�ư��ϡ�if, else, elsif ʸ����Ѥ��ƻ��ꤷ�ޤ���
+���ʸ�ϡ��̾�ʸ (option ʸ) ���о��ǽ�ʾ��Ϥɤ��ˤǤ��о��ǽ�Ǥ��ꡢ
+�ޤ����Τ褦��ʸ���뤳�Ȥ��ǽ�Ǥ���
+�����Фˤ�������ʸ�ϼ��Τ褦�ˤʤ뤳�Ȥ�¿���Ǥ��礦:
.PP
.nf
if option dhcp-user-class = "accounting" {
max-lease-time 17600;
option domain-name "accounting.example.org";
- option domain-name-servers ns1.accounting.example.org,
+ option domain-name-servers ns1.accounting.example.org,
ns2.accounting.example.org;
} elsif option dhcp-user-class = "sales" {
max-lease-time 17600;
option domain-name "sales.example.org";
- option domain-name-servers ns1.sales.example.org,
+ option domain-name-servers ns1.sales.example.org,
ns2.sales.example.org;
} elsif option dhcp-user-class = "engineering" {
max-lease-time 17600;
option domain-name "engineering.example.org";
- option domain-name-servers ns1.engineering.example.org,
+ option domain-name-servers ns1.engineering.example.org,
ns2.engineering.example.org;
} else {
max-lease-time 600;
option domain-name "misc.example.org";
- option domain-name-servers ns1.misc.example.org,
+ option domain-name-servers ns1.misc.example.org,
ns2.misc.example.org;
}
.fi
.PP
-¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤Ï¡¢¾ò·ïÉդɾ²Á¤ÎÎã¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤礦:
+���饤�����¦�Ǥϡ�����դ�ɾ������ϼ��Τ褦�ˤʤ�Ǥ��礦:
.PP
.nf
-# example.org ¤Ï¥Õ¥¡¥¤¥ä¥¦¥©¡¼¥ë¤Ç DNS ¤ò¥Õ¥£¥ë¥¿¤¹¤ë¤Î¤Ç¡¢
-# example.org ¥Í¥Ã¥È¥ï¡¼¥¯¤Ë·Ò¤¬¤ë¤È¤¤Î¤ß¡¢¤½¤Î DNS ¥µ¡¼¥Ð¤ò»ÈÍѤ·¤Þ¤¹¡£
-# example.org ¤Ë·Ò¤¬¤ë¤Î¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢¼«¸Ê¤Î DNS ¥µ¡¼¥Ð¤òÍ¥Àè»ÈÍѤ·¤Þ¤¹¡£
+# example.org �ϥե����䥦������� DNS ��ե��륿����Τǡ�
+# example.org �ͥåȥ���˷Ҥ���Ȥ��Τߡ����� DNS �����Ф���Ѥ��ޤ���
+# example.org �˷Ҥ���ΤǤϤʤ���硢���ʤ� DNS �����Ф�ͥ����Ѥ��ޤ���
if not option domain-name = "example.org" {
prepend domain-name-servers 127.0.0.1;
}
-.fi
+.fi
.PP
.B if
-ʸ¤È
+ʸ��
.B elsif
-·Ñ³ʸ¤Ï¡¢°ú¿ô¤È¤·¤Æ¥Ö¡¼¥ë¼°¤ò¼è¤ê¤Þ¤¹¡£
-¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Îʸ¤Ï¡¢É¾²Á¤µ¤ì¤ë¤È¥Ö¡¼¥ëÃͤηë²Ì¤òÀ¸À®¤¹¤ë¼°¤ò¼è¤ê¤Þ¤¹¡£
-¼°¤Îɾ²Á·ë²Ì¤¬¿¿¤Ë¤Ê¤ë¤È¡¢
+��³ʸ�ϡ������Ȥ��ƥ֡��뼰����ޤ���
+�Ĥޤꡢ������ʸ�ϡ�ɾ�������ȥ֡����ͤη�̤��������뼰����ޤ���
+����ɾ����̤����ˤʤ�ȡ�
.B if
-ʸ¤Îľ¸å¤Î¥Ö¥ì¡¼¥¹¤Ç³ç¤é¤ì¤¿Ê¸¤¬¼Â¹Ô¤µ¤ì¡¢¸å³¤¹¤ë
+ʸ��ľ��Υ֥졼���dz��줿ʸ���¹Ԥ��졢��³����
.B elsif
-¤È
+��
.B else
-¤ÎÀá¤Ï¥¹¥¥Ã¥×¤µ¤ì¤Þ¤¹¡£
-¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢É¾²Á·ë²Ì¤¬¿¿¤Ë¤Ê¤ë elsif Àá¤Ë½Ð²ñ¤¦¤Þ¤Ç¡¢¸å³¤¹¤ë³Æ
+����ϥ����åפ���ޤ���
+�����Ǥʤ���硢ɾ����̤����ˤʤ� elsif ��˽вޤǡ���³�����
.B elsif
-Àá¤Î¼°¤¬¥Á¥§¥Ã¥¯¤µ¤ì¤Þ¤¹¡£
-¤½¤Î¤è¤¦¤ÊÀ᤬¸«ÉÕ¤«¤ë¤È¡¢Ä¾¸å¤Î¥Ö¥ì¡¼¥¹Ãæ¤Îʸ¤¬¼Â¹Ô¤µ¤ì¡¢¸å³¤¹¤ë
+��μ��������å�����ޤ���
+���Τ褦������դ���ȡ�ľ��Υ֥졼�����ʸ���¹Ԥ��졢��³����
.B elsif
-¤È
+��
.B else
-¤ÎÀá¤Ï¥¹¥¥Ã¥×¤µ¤ì¤Þ¤¹¡£
-¤¹¤Ù¤Æ¤Î
+����ϥ����åפ���ޤ���
+���٤Ƥ�
.B if
-¤ª¤è¤Ó
+�����
.B elsif
-¤ÎÀ᤬¥Á¥§¥Ã¥¯¤µ¤ì¤¿¤â¤Î¤Î¤É¤Î¼°¤â¿¿¤Ë¤Ê¤é¤Ê¤¤¾ì¹ç¤Ç¡¢
+��������å����줿��ΤΤɤμ���ˤʤ�ʤ����ǡ�
.B else
-À᤬¸ºß¤¹¤ë¾ì¹硢
+�¸�ߤ����硢
.B else
-¤Îľ¸å¤Î¥Ö¥ì¡¼¥¹Ãæ¤Îʸ¤¬É¾²Á¤µ¤ì¤Þ¤¹¡£
-¾ò·ï¤Ë¤ª¤¤¤Æ¤Ï¡¢É¾²Á·ë²Ì¤¬¶õ¤Ë¤Ê¤ë¥Ö¡¼¥ë¼°¤Ïµ¶¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
-.SH ¥Ö¡¼¥뼰
-°Ê²¼¤Ï¡¢DHCP ÇÛÉÛʪ¤Ç¸½ºß¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Ö¡¼¥ë¼°¤Î°ìÍ÷¤Ç¤¹¡£
+��ľ��Υ֥졼�����ʸ��ɾ������ޤ���
+���ˤ����Ƥϡ�ɾ����̤����ˤʤ�֡��뼰�ϵ��Ȥ��ư����ޤ���
+.SH �֡��뼰
+�ʲ��ϡ�DHCP ����ʪ�Ǹ��ߥ��ݡ��Ȥ���Ƥ���֡��뼰�ΰ����Ǥ���
.PP
.I data-expression-1 \fB=\fI data-expression-2\fR
.RS 0.25i
.PP
-\fB=\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢2 ¸Ä¤Î¥Ç¡¼¥¿¼°¤òÈæ³Ó¤·¡¢Î¾¼Ô¤¬Æ±¤¸¾ì¹ç¤Ï¿¿¤òÊÖ¤·¡¢
-Ʊ°ì¤Ç¤Ê¤¤¾ì¹ç¤Ïµ¶¤òÊÖ¤·¤Þ¤¹¡£
-º¸Êդ⤷¤¯¤Ï±¦ÊդΤ¤¤º¤ì¤«¤¬¶õ¤Î¾ì¹ç¡¢·ë²Ì¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\fB=\fR ���ڥ졼���ϡ�2 �ĤΥǡ���������Ӥ���ξ�Ԥ�Ʊ�����Ͽ����֤���
+Ʊ��Ǥʤ����ϵ����֤��ޤ���
+���դ⤷���ϱ��դΤ����줫�����ξ�硢��̤϶��ˤʤ�ޤ���
.RE
.PP
.I boolean-expression-1 \fBand\fI boolean-expression-2\fR
.PP
.RS 0.25i
-\fBand\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢º¸ÊդΥ֡¼¥ë¼°¤È±¦ÊդΥ֡¼¥ë¼°¤ÎξÊý¤Îɾ²Á·ë²Ì¤¬
-¿¿¤Î¾ì¹ç¡¢¿¿¤Èɾ²Á¤µ¤ì¤Þ¤¹¡£
-¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢µ¶¤Èɾ²Á¤µ¤ì¤Þ¤¹¡£
-º¸Êդ⤷¤¯¤Ï±¦ÊդΤ¤¤º¤ì¤«¤¬¶õ¤Î¾ì¹ç¡¢·ë²Ì¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\fBand\fR ���ڥ졼���ϡ����դΥ֡��뼰�ȱ��դΥ֡��뼰��ξ����ɾ����̤�
+���ξ�硢����ɾ������ޤ���
+�����Ǥʤ���硢����ɾ������ޤ���
+���դ⤷���ϱ��դΤ����줫�����ξ�硢��̤϶��ˤʤ�ޤ���
.RE
.PP
.I boolean-expression-1 \fBor\fI boolean-expression-2\fR
.PP
.RS 0.25i
-\fBor\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢º¸ÊդΥ֡¼¥ë¼°¤È±¦ÊդΥ֡¼¥ë¼°¤Î¤¤¤º¤ì¤«¤Îɾ²Á·ë²Ì¤¬
-¿¿¤Î¾ì¹ç¡¢¿¿¤Èɾ²Á¤µ¤ì¤Þ¤¹¡£
-¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¡¢µ¶¤Èɾ²Á¤µ¤ì¤Þ¤¹¡£
-º¸Êդ⤷¤¯¤Ï±¦ÊդΤ¤¤º¤ì¤«¤¬¶õ¤Î¾ì¹ç¡¢·ë²Ì¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\fBor\fR ���ڥ졼���ϡ����դΥ֡��뼰�ȱ��դΥ֡��뼰�Τ����줫��ɾ����̤�
+���ξ�硢����ɾ������ޤ���
+�����Ǥʤ���硢����ɾ������ޤ���
+���դ⤷���ϱ��դΤ����줫�����ξ�硢��̤϶��ˤʤ�ޤ���
.RE
.PP
.B not \fIboolean-expression
.PP
.RS 0.25i
-\fBnot\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢\fIboolean-expression\fR ¤Îɾ²Á·ë²Ì¤¬µ¶¤Î¾ì¹硢
-¿¿¤Èɾ²Á¤µ¤ì¤Þ¤¹¡£
-¤Þ¤¿¡¢\fIboolean-expression\fR ¤Îɾ²Á·ë²Ì¤¬¿¿¤Î¾ì¹ç¡¢µ¶¤Èɾ²Á¤µ¤ì¤Þ¤¹¡£
-\fIboolean-expression\fR ¤Îɾ²Á·ë²Ì¤¬¶õ¤Î¾ì¹ç¡¢·ë²Ì¤â¤Þ¤¿¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\fBnot\fR ���ڥ졼���ϡ�\fIboolean-expression\fR ��ɾ����̤����ξ�硢
+����ɾ������ޤ���
+�ޤ���\fIboolean-expression\fR ��ɾ����̤����ξ�硢����ɾ������ޤ���
+\fIboolean-expression\fR ��ɾ����̤����ξ�硢��̤�ޤ����ˤʤ�ޤ���
.RE
.PP
.B exists \fIoption-name\fR
.PP
.RS 0.25i
-\fBexists\fR ¼°¤Ï¡¢½èÍýÂоݤÎÆþÎÏ DCHP ¥Ñ¥±¥Ã¥ÈÃæ¤Ë¡¢
-»ØÄꤵ¤ì¤¿¥ª¥×¥·¥ç¥ó¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢¿¿¤òÊÖ¤·¤Þ¤¹¡£
+\fBexists\fR ���ϡ������оݤ����� DCHP �ѥ��å���ˡ�
+���ꤵ�줿���ץ����¸�ߤ����硢�����֤��ޤ���
.RE
.B known
.PP
.RS 0.25i
-\fBknown\fR ¼°¤Ï¡¢Í×µáÂбþÃæ¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬´ûÃΤξì¹硢
-¤¹¤Ê¤ï¤Á¥Û¥¹¥ÈÀë¸À¤¬¤¢¤ë¾ì¹ç¡¢¿¿¤òÊÖ¤·¤Þ¤¹¡£
+\fBknown\fR ���ϡ����б���Υ��饤����Ȥ����Τξ�硢
+���ʤ���ۥ�������������硢�����֤��ޤ���
.RE
.B static
.PP
.RS 0.25i
-\fBstatic\fR ¼°¤Ï¡¢Í×µáÂбþÃæ¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ø¤Î¥ê¡¼¥¹³ä¤êÅö¤Æ¤¬¡¢
-ÀÅŪ¥¢¥É¥ì¥¹³ä¤êÅö¤Æ¤Ë¤è¤ë¤â¤Î¤Ç¤¢¤Ã¤¿¾ì¹ç¡¢¿¿¤òÊÖ¤·¤Þ¤¹¡£
+\fBstatic\fR ���ϡ����б���Υ��饤����ȤؤΥ��������Ƥ���
+��Ū���ɥ쥹������Ƥˤ���ΤǤ��ä���硢�����֤��ޤ���
.RE
-.SH ¥Ç¡¼¥¿¼°
-Á°½Ò¤Î¥Ö¡¼¥ë¼°¤Ï¡¢¥Ç¡¼¥¿¼°¤Îɾ²Á·ë²Ì¤Ë°Í¸¤·¤Þ¤¹¡£
-¥Ç¡¼¥¿¼°¤ò¤³¤³¤Ë¼¨¤·¤Þ¤¹¡£
+.SH �ǡ�����
+���ҤΥ֡��뼰�ϡ��ǡ�������ɾ����̤˰�¸���ޤ���
+�ǡ��������˼����ޤ���
.PP
.B substring (\fIdata-expr\fB, \fIoffset\fB, \fIlength\fB)\fR
.PP
.RS 0.25i
-\fBsubstring\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢¥Ç¡¼¥¿¼°¤òɾ²Á¤·¡¢
-ɾ²Á·ë²ÌÃæ¤Î \fIoffset\fR ¥Ð¥¤¥È¤«¤é³«»Ï¤·¤Æ \fIlength\fR ¥Ð¥¤¥È·Ñ³¤¹¤ë
-¥µ¥Ö¥¹¥È¥ê¥ó¥°¤òÊÖ¤·¤Þ¤¹¡£
-\fIoffset\fR ¤È \fIlength\fR ¤Ï¶¦¤Ë¿ôÃͼ°¤Ç¤¹¡£
-\fIdata-expr\fR, \fIoffset\fR, \fIlength\fR ¤Î¤¤¤º¤ì¤«¤¬¶õ¤Èɾ²Á¤µ¤ì¤ë¾ì¹硢
-·ë²Ì¤â¤Þ¤¿¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
-\fIoffset\fR ¤¬¡¢É¾²Á¤µ¤ì¤¿¥Ç¡¼¥¿¤ÎŤµ°Ê¾å¤Ç¤¢¤ë¾ì¹硢
-Ťµ 0 ¤Î¥Ç¡¼¥¿Ê¸»úÎó¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
-\fIlength\fI ¤¬¡¢É¾²Á¤µ¤ì¤¿¥Ç¡¼¥¿¤Î \fIoffset\fR ¤è¤ê¸å¤ÎŤµ¤è¤êÂ礤¤¾ì¹硢
-ɾ²Á¤µ¤ì¤¿¥Ç¡¼¥¿¤Î \fIoffset\fR ¤«¤é½ªÃ¼¤Þ¤Ç¤ÎÁ´¥Ç¡¼¥¿¤ò´Þ¤à
-¥Ç¡¼¥¿Ê¸»úÎó¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
+\fBsubstring\fR ���ڥ졼���ϡ��ǡ�������ɾ������
+ɾ�������� \fIoffset\fR �Х��Ȥ��鳫�Ϥ��� \fIlength\fR �Х��ȷ�³����
+���֥��ȥ���֤��ޤ���
+\fIoffset\fR �� \fIlength\fR �϶��˿��ͼ��Ǥ���
+\fIdata-expr\fR, \fIoffset\fR, \fIlength\fR �Τ����줫������ɾ��������硢
+��̤�ޤ����ˤʤ�ޤ���
+\fIoffset\fR ����ɾ�����줿�ǡ�����Ĺ���ʾ�Ǥ����硢
+Ĺ�� 0 �Υǡ���ʸ�����֤���ޤ���
+\fIlength\fI ����ɾ�����줿�ǡ����� \fIoffset\fR �����Ĺ������礭����硢
+ɾ�����줿�ǡ����� \fIoffset\fR ���齪ü�ޤǤ����ǡ�����ޤ�
+�ǡ���ʸ�����֤���ޤ���
.RE
.PP
.B suffix (\fIdata-expr\fB, \fIlength\fB)\fR
.PP
.RS 0.25i
-\fBsuffix\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢\fIdata-expr\fR ¤òɾ²Á¤·¡¢
-ɾ²Á·ë²Ì¤ÎºÇ¸å¤Î \fIlength\fR ¥Ð¥¤¥È¤òÊÖ¤·¤Þ¤¹¡£
-\fIlength\fR ¤Ï¿ôÃͼ°¤Ç¤¹¡£
-\fIdata-expr\fR ¤Þ¤¿¤Ï \fIlength\fR ¤Îɾ²Á·ë²Ì¤¬¶õ¤Î¾ì¹硢
-·ë²Ì¤â¤Þ¤¿¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
+\fBsuffix\fR ���ڥ졼���ϡ�\fIdata-expr\fR ��ɾ������
+ɾ����̤κǸ�� \fIlength\fR �Х��Ȥ��֤��ޤ���
+\fIlength\fR �Ͽ��ͼ��Ǥ���
+\fIdata-expr\fR �ޤ��� \fIlength\fR ��ɾ����̤����ξ�硢
+��̤�ޤ����ˤʤ�ޤ���
\fIsuffix\fR
-(ÌõÃí: \fIlength\fR ¤¬Àµ¤·¤¤¤È»×¤ï¤ì¤Þ¤¹)
-¤Îɾ²Á·ë²Ì¤¬É¾²Á¤µ¤ì¤¿¥Ç¡¼¥¿¤ÎŤµ¤è¤êÂ礤¤¾ì¹硢
-ɾ²Á¤µ¤ì¤¿¥Ç¡¼¥¿¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
+(����: \fIlength\fR ���������Ȼפ��ޤ�)
+��ɾ����̤�ɾ�����줿�ǡ�����Ĺ������礭����硢
+ɾ�����줿�ǡ������֤���ޤ���
.\" horikawa@jp.FreeBSD.org 2002/04/29
.RE
.PP
.B option \fIoption-name\fR
.PP
.RS 0.25i
-\fBoption\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢¥µ¡¼¥Ð¤¬±þÅú½èÍýÃæ¤Î¥Ñ¥±¥Ã¥È¤ÎÃæ¤Î¡¢
-»ØÄꤷ¤¿¥ª¥×¥·¥ç¥ó¤ÎÆâÍƤòÊÖ¤·¤Þ¤¹¡£
+\fBoption\fR ���ڥ졼���ϡ������Ф�����������Υѥ��åȤ���Ρ�
+���ꤷ�����ץ��������Ƥ��֤��ޤ���
.RE
.PP
.B config-option \fIoption-name\fR
.PP
.RS 0.25i
-\fBconfig-option\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢»ØÄꤷ¤¿¥ª¥×¥·¥ç¥ó¤ËÂФ·¡¢
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Þ¤¿¤Ï¥µ¡¼¥Ð¤¬Á÷½Ð¤¹¤ë¤è¤¦ÀßÄꤵ¤ì¤¿ÃͤòÊÖ¤·¤Þ¤¹¡£
+\fBconfig-option\fR ���ڥ졼���ϡ����ꤷ�����ץ������Ф���
+DHCP ���饤����Ȥޤ��ϥ����Ф����Ф���褦���ꤵ�줿�ͤ��֤��ޤ���
.RE
.PP
.B hardware
.PP
.RS 0.25i
-\fBhardware\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢¥Ç¡¼¥¿¥¹¥È¥ê¥ó¥°¤òÊÖ¤·¤Þ¤¹¡£
-¥Ç¡¼¥¿¥¹¥È¥ê¥ó¥°¤ÎºÇ½é¤ÎÍ×ÁǤϡ¢
-Âоݥѥ±¥Ã¥È¤¬¼¨¤¹¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥¿¥¤¥×¤Ç¤¢¤ꡢ
-¸å³¤¹¤ëÍ×ÁǤϡ¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥ê¥ó¥¯ÁØ¥¢¥É¥ì¥¹¤Ç¤¹¡£
-¥Ñ¥±¥Ã¥È¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤â¤·¤¯¤Ï RFC2131 \fIhlen\fR ¥Õ¥£¡¼¥ë¥É¤¬Ìµ¸ú¤Ê¾ì¹硢
-·ë²Ì¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
-¥Ï¡¼¥É¥¦¥§¥¢¥¿¥¤¥×¤Ë¤Ï¡¢¥¤¡¼¥µ¥Í¥Ã¥È (1)¡¢¥È¡¼¥¯¥ó¥ê¥ó¥° (6)¡¢
-FDDI (8) ¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
-¥Ï¡¼¥É¥¦¥§¥¢¥¿¥¤¥×¤Ï IETF ¤Ë¤è¤Ã¤Æµ¬Äꤵ¤졢
-¤É¤Î¤è¤¦¤Ë¥¿¥¤¥×¤Î¿ôÃͤ¬ÄêµÁ¤µ¤ì¤ë¤«¤Î¾ÜºÙ¤Ï RFC2131
-(ISC DHCP ÇÛÉÛʪ¤Ç¤Ï¡¢doc/ ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\fBhardware\fR ���ڥ졼���ϡ��ǡ������ȥ���֤��ޤ���
+�ǡ������ȥ�κǽ�����Ǥϡ�
+�оݥѥ��åȤ������ͥåȥ�����ե������Υ����פǤ��ꡢ
+��³�������Ǥϡ����饤����ȤΥ���إ��ɥ쥹�Ǥ���
+�ѥ��åȤ�¸�ߤ��ʤ����⤷���� RFC2131 \fIhlen\fR �ե�����ɤ�̵���ʾ�硢
+��̤϶��ˤʤ�ޤ���
+�ϡ��ɥ����������פˤϡ��������ͥå� (1)���ȡ������� (6)��
+FDDI (8) ���ޤޤ�ޤ���
+�ϡ��ɥ����������פ� IETF �ˤ�äƵ��ꤵ�졢
+�ɤΤ褦�˥����פο��ͤ��������뤫�ξܺ٤� RFC2131
+(ISC DHCP ����ʪ�Ǥϡ�doc/ ���֥ǥ��쥯�ȥ�ˤ���ޤ�) �Ȥ��Ƥ���������
.RE
.PP
.B packet (\fIoffset\fB, \fIlength\fB)\fR
.PP
.RS 0.25i
-\fBpacket\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢Âоݥѥ±¥Ã¥È¤Î»ØÄêÉôʬ¤òÊÖ¤¹¤«¡¢
-Âоݥѥ±¥Ã¥È¤¬Ìµ¤¤Ê¸Ì®¤Ç¤Ï¶õ¤òÊÖ¤·¤Þ¤¹¡£
-\fIoffset\fR ¤È \fIlength\fR ¤Ï¡¢
-\fBsubstring\fR ¥ª¥Ú¥ì¡¼¥¿¤ÈƱÍͤˡ¢¥Ñ¥±¥Ã¥È¤ÎÆâÍƤËŬÍѤµ¤ì¤Þ¤¹¡£
+\fBpacket\fR ���ڥ졼���ϡ��оݥѥ��åȤλ�����ʬ���֤�����
+�оݥѥ��åȤ�̵��ʸ̮�Ǥ϶����֤��ޤ���
+\fIoffset\fR �� \fIlength\fR �ϡ�
+\fBsubstring\fR ���ڥ졼����Ʊ�ͤˡ��ѥ��åȤ����Ƥ�Ŭ�Ѥ���ޤ���
.RE
.PP
.I string
.PP
.RS 0.25i
-¥¯¥©¡¼¥È¤Ç³ç¤é¤ì¤¿¥¹¥È¥ê¥ó¥°¤Ï¥Ç¡¼¥¿¼°¤È¤·¤Æ»ØÄê²Äǽ¤Ç¤¢¤ꡢ
-¥¯¥©¡¼¥È¤Î´Ö¤ò ASCII ¥¨¥ó¥³¡¼¥É¤·¤¿¤Î¥Æ¥¥¹¥È¤òÊÖ¤·¤Þ¤¹¡£
-¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å ('\\') ʸ»ú¤Ï C ¥×¥í¥°¥é¥à¤Î¤è¤¦¤ËÆÃÊÌ°·¤¤¤µ¤ì¤Þ¤¹:
-¤¹¤Ê¤ï¤Á '\\t' ¤Ï¥¿¥Ö¤ò¡¢'\\r' ¤ÏÉü²þ¤ò¡¢'\\n' ¤Ï²þ¹Ô¤ò¡¢'\\b' ¤Ï¥Ù¥ë¤ò
-°ÕÌ£¤·¤Þ¤¹¡£
-8 ¿Ê¿ôÃÍ¤Ï '\\nnn' ¤Ç»ØÄê²Äǽ¤Ç¤¢¤ê¡¢nnn ¤Ï 0 °Ê¾å 0377 °Ê²¼¤Î 8 ¿Ê¿ôÃͤǤ¹¡£
-16 ¿Ê¿ôÃÍ¤Ï '\\xnn' ¤Ç»ØÄê²Äǽ¤Ç¤¢¤ê¡¢nn ¤Ï 0 °Ê¾å 0xff °Ê²¼¤Î 16 ¿Ê¿ôÃͤǤ¹¡£
-.\" ÃͤÎÈϰϤθí¤ê¤Ë¤Ä¤¤¤Æ¤Ï¡¢Murray ·Ðͳ¤Ç¥ì¥Ý¡¼¥ÈºÑ
+�������Ȥdz��줿���ȥ�ϥǡ������Ȥ��ƻ����ǽ�Ǥ��ꡢ
+�������Ȥδ֤� ASCII �����ɤ����Υƥ����Ȥ��֤��ޤ���
+�Хå�����å��� ('\\') ʸ���� C �ץ������Τ褦�����̰�������ޤ�:
+���ʤ�� '\\t' �ϥ��֤�'\\r' ��������'\\n' �ϲ��Ԥ�'\\b' �ϥ٥��
+��̣���ޤ���
+8 �ʿ��ͤ� '\\nnn' �ǻ����ǽ�Ǥ��ꡢnnn �� 0 �ʾ� 0377 �ʲ��� 8 �ʿ��ͤǤ���
+16 �ʿ��ͤ� '\\xnn' �ǻ����ǽ�Ǥ��ꡢnn �� 0 �ʾ� 0xff �ʲ��� 16 �ʿ��ͤǤ���
+.\" �ͤ��ϰϤθ���ˤĤ��Ƥϡ�Murray ��ͳ�ǥ�ݡ��Ⱥ�
.\" horikawa@jp.FreeBSD.org 2002/05/01
.RE
.PP
.I colon-separated hexadecimal list
.PP
.RS 0.25i
-¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤¿ 16 ¿Ê¿ô¤Î¥ª¥¯¥Æ¥Ã¥ÈÃͤΥꥹ¥È¤ò¡¢
-¥Ç¡¼¥¿¼°¤È¤·¤Æ»ØÄê²Äǽ¤Ç¤¹¡£
+������Ƕ��ڤ�줿 16 �ʿ��Υ����ƥå��ͤΥꥹ�Ȥ�
+�ǡ������Ȥ��ƻ����ǽ�Ǥ���
.RE
.PP
.B concat (\fIdata-expr1\fB, ..., \fIdata-exprN\fB)\fR
.RS 0.25i
-¼°¤¬É¾²Á¤µ¤ì¡¢³Æɾ²Á·ë²Ì¤¬¥µ¥Ö¼°¤Î½çÈÖ¤ËÏ¢·ë¤µ¤ì¤Þ¤¹¡£
-¥µ¥Ö¼°¤Î¤¤¤º¤ì¤«¤Îɾ²Á·ë²Ì¤¬¶õ¤Ë¤Ê¤ë¾ì¹ç¡¢Ï¢·ë¤Î·ë²Ì¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
+����ɾ�����졢��ɾ����̤����ּ��ν��֤�Ϣ�뤵��ޤ���
+���ּ��Τ����줫��ɾ����̤����ˤʤ��硢Ϣ��η�̤϶��ˤʤ�ޤ���
.RE
.PP
.B reverse (\fInumeric-expr1\fB, \fIdata-expr2\fB)\fR
.RS 0.25i
-2 ¸Ä¤Î¼°¤¬É¾²Á¤µ¤ì¡¢¥Ç¡¼¥¿¼°¤Îɾ²Á·ë²Ì¤¬¤½¤Î¾ì¤Çȿž¤µ¤ì¤Þ¤¹¡£
-ȿž¤Ï¡¢¿ôÃͼ°¤Ç»ØÄꤵ¤ì¤ëÂ礤µ¤Îñ°Ì¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£
-Î㤨¤Ð¡¢¿ôÃͼ°¤Îɾ²Á·ë²Ì¤¬ 4 ¤Î¾ì¹ç¤Ç¡¢
-¥Ç¡¼¥¿¼°¤Îɾ²Á·ë²Ì¤¬ 12 ¥Ð¥¤¥È¤Ë¤Ê¤ë¾ì¹硢
-reverse ¼°¤Îɾ²Á·ë²Ì¤Ï¡¢¼¡¤Î¤è¤¦¤Ê 12 ¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤Ë¤Ê¤ê¤Þ¤¹¡£
-¤¹¤Ê¤ï¤Á¡¢ÆþÎϤκǸå¤Î 4 ¥Ð¥¤¥È¡¢¿¿Ãæ¤Î 4¥Ð¥¤¥È¡¢ºÇ½é¤Î 4 ¥Ð¥¤¥È¤Î
-½ç¤Ë¤Ê¤ê¤Þ¤¹¡£
+2 �Ĥμ���ɾ�����졢�ǡ�������ɾ����̤����ξ��ȿž����ޤ���
+ȿž�ϡ����ͼ��ǻ��ꤵ����礭����ñ�̤ǹԤ��ޤ���
+�㤨�С����ͼ���ɾ����̤� 4 �ξ��ǡ�
+�ǡ�������ɾ����̤� 12 �Х��Ȥˤʤ��硢
+reverse ����ɾ����̤ϡ����Τ褦�� 12 �Х��ȤΥǡ����ˤʤ�ޤ���
+���ʤ�������ϤκǸ�� 4 �Х��ȡ������ 4�Х��ȡ��ǽ�� 4 �Х��Ȥ�
+��ˤʤ�ޤ���
.RE
.PP
.B leased-address
.RS 0.25i
-¤¤¤«¤Ê¤ëʸ̮¤Ë¤ª¤¤¤Ƥ⡢
-Í×µá½èÍýÂоݤȤʤäƤ¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ë IP ¥¢¥É¥ì¥¹¤¬³ä¤êÅö¤ÆºÑ¤Î¾ì¹硢
-¤½¤Î IP ¥¢¥É¥ì¥¹¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
+�����ʤ�ʸ̮�ˤ����Ƥ⡢
+������оݤȤʤäƤ��륯�饤����Ȥ� IP ���ɥ쥹��������ƺѤξ�硢
+���� IP ���ɥ쥹���֤���ޤ���
.RE
.PP
.B binary-to-ascii (\fInumeric-expr1\fB, \fInumeric-expr2\fB,
.B \fIdata-expr1\fB,\fR \fIdata-expr2\fB)\fR
.RS 0.25i
-data-expr2 ¤Îɾ²Á·ë²Ì¤ò¥Æ¥¥¹¥È¥¹¥È¥ê¥ó¥°¤ËÊÑ´¹¤·¤Þ¤¹¡£
-¤³¤Î¥Æ¥¥¹¥È¥¹¥È¥ê¥ó¥°Ãæ¤Ç¤Ï¡¢
-data-expr2 ¤Îɾ²Á·ë²Ì¤Î³ÆÍ×ÁǤ¬¡¢1 ¸Ä¤Î¿ôÃͤˤʤê¤Þ¤¹¡£
-³Æ¿ôÃͤϡ¢¤½¤ì¤¾¤ì¡¢data-expr1 ¤Îɾ²Á·ë²Ì¤Ë¤è¤Ã¤Æ¶èÀÚ¤é¤ì¤Þ¤¹¡£
-numeric-expr1 ¤Îɾ²Á·ë²Ì¤Ï¡¢´ð¿ô (2 ¤«¤é 16) ¤Ç¤¢¤ꡢ
-¤³¤Î´ð¿ô¤Ë¿ôÃͤ¬ÊÑ´¹¤µ¤ì¤Þ¤¹¡£
-numeric-expr2 ¤Îɾ²Á·ë²Ì¤Ï¡¢³Æ¿ôÃͤΥӥåÈÉý¤Ç¤¢¤ꡢ
-8, 16, 32 ¤Î¤¤¤º¤ì¤«¤Ç¤¹¡£
-.PP
-ºÇ½é¤Î 3 ¸Ä¤Î¥¿¥¤¥×¤Î¼°¤ÎÎã¤È¤·¤Æ¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿ IP ¥¢¥É¥ì¥¹ÍѤÎ
-PTR ¥ì¥³¡¼¥É¤Î̾Á°¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë»ÈÍѲÄǽ¤Ê¼°¤ò¼¨¤·¤Þ¤¹
+data-expr2 ��ɾ����̤�ƥ����ȥ��ȥ���Ѵ����ޤ���
+���Υƥ����ȥ��ȥ����Ǥϡ�
+data-expr2 ��ɾ����̤γ����Ǥ���1 �Ĥο��ͤˤʤ�ޤ���
+�ƿ��ͤϡ����줾�졢data-expr1 ��ɾ����̤ˤ�äƶ��ڤ��ޤ���
+numeric-expr1 ��ɾ����̤ϡ���� (2 ���� 16) �Ǥ��ꡢ
+���δ���˿��ͤ��Ѵ�����ޤ���
+numeric-expr2 ��ɾ����̤ϡ��ƿ��ͤΥӥå����Ǥ��ꡢ
+8, 16, 32 �Τ����줫�Ǥ���
+.PP
+�ǽ�� 3 �ĤΥ����פμ�����Ȥ��ơ�
+���饤����Ȥ˳�����Ƥ�줿 IP ���ɥ쥹�Ѥ�
+PTR �쥳���ɤ�̾�����������뤿��˻��Ѳ�ǽ�ʼ����ޤ�
.RE
.PP
.nf
.PP
.B encode-int (\fInumeric-expr\fB, \fIwidth\fB)\fR
.RS 0.25i
-¿ôÃͼ°¤¬É¾²Á¤µ¤ì¡¢»ØÄꤵ¤ì¤¿Éý¤Î¥Ç¡¼¥¿¥¹¥È¥ê¥ó¥°¤Ë
-¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È½ç (ºÇ¾å°Ì¥Ð¥¤¥È¤¬ºÇ½é) ¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤Þ¤¹¡£
-¿ôÃͼ°¤Îɾ²Á·ë²Ì¤¬¶õ¤ÎÃͤˤʤë¾ì¹ç¡¢·ë²Ì¤â¤Þ¤¿¶õ¤Ç¤¹¡£
+���ͼ���ɾ�����졢���ꤵ�줿���Υǡ������ȥ��
+�ͥåȥ���Х��Ƚ� (�Ǿ�̥Х��Ȥ��ǽ�) �ǥ����ɤ���ޤ���
+���ͼ���ɾ����̤������ͤˤʤ��硢��̤�ޤ����Ǥ���
.RE
-.\" ¤³¤Î ".RE" ¤¬Ìµ¤¤¤È¡¢¥¤¥ó¥Ç¥ó¥È¤¬Àµ¤·¤¯¤Ê¤¤¤Ç¤¹
+.\" ���� ".RE" ��̵���ȡ�����ǥ�Ȥ��������ʤ��Ǥ�
.\" horikawa@jp.FreeBSD.org 2002/04/29
.PP
.B pick-first-value (\fIdata-expr1\fR [ ... \fIexpr\fRn ] \fB)\fR
.RS 0.25i
-pick-first-value ´Ø¿ô¤Ï¡¢Ç¤°Õ¸Ä¤Î¥Ç¡¼¥¿¼°¤ò¼è¤êÆÀ¤Þ¤¹¡£
-¥ê¥¹¥È¤ÎÀèƬ¤«¤é³Æ¼°¤¬É¾²Á¤µ¤졢
-ɾ²Á·ë²Ì¤¬¶õ¤Ç¤Ï¤Ê¤¤¼°¤¬¸«ÉÕ¤«¤ë¤Þ¤Ç¤³¤ì¤¬Â³¤¤Þ¤¹¡£
-¤³¤Î¼°¤¬ÊÖ¤µ¤ì¡¢¤³¤Î¼°¤Ë¸å³¤¹¤ë¼°¤Ïɾ²Á¤µ¤ì¤Þ¤»¤ó¡£
-¤¹¤Ù¤Æ¤Î¼°¤Îɾ²Á·ë²Ì¤¬¶õ¤Î¾ì¹ç¡¢¶õ¤ÎÃͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£
+pick-first-value �ؿ��ϡ�Ǥ�ոĤΥǡ������������ޤ���
+�ꥹ�Ȥ���Ƭ����Ƽ���ɾ�����졢
+ɾ����̤����ǤϤʤ��������դ���ޤǤ��줬³���ޤ���
+���μ����֤��졢���μ��˸�³���뼰��ɾ������ޤ���
+���٤Ƥμ���ɾ����̤����ξ�硢�����ͤ��֤���ޤ���
.RE
.PP
.B host-decl-name
.RS 0.25i
-host-decl-name ´Ø¿ô¤Ï¡¢¸½ºßÍ×µá½èÍýÂоݤȤʤäƤ¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ë¥Þ¥Ã¥Á¤¹¤롢
-¥Û¥¹¥ÈÀë¸À¤Î̾Á°¤òÊÖ¤·¤Þ¤¹¡£
-¤É¤Î¥Û¥¹¥ÈÀë¸À¤â¥Þ¥Ã¥Á¤·¤Ê¤¤¾ì¹ç¡¢·ë²Ì¤Ï¶õ¤Ë¤Ê¤ê¤Þ¤¹¡£
+host-decl-name �ؿ��ϡ�����������оݤȤʤäƤ��륯�饤����Ȥ˥ޥå����롢
+�ۥ��������̾�����֤��ޤ���
+�ɤΥۥ��������ޥå����ʤ���硢��̤϶��ˤʤ�ޤ���
.RE
-.SH ¿ôÃͼ°
-¿ôÃͼ°¤Ï¡¢É¾²Á·ë²Ì¤¬À°¿ô¤Ë¤Ê¤ë¼°¤Ç¤¹¡£
-°ìÈ̤ˡ¢À°¿ô¤ÎºÇÂ祵¥¤¥º¤¬ 32 ¥Ó¥Ã¥È̤Ëþ¤Ç¤¢¤ë¤È²¾Äꤹ¤Ù¤¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢
-À°¿ô¤ÎÀºÅÙ¤¬ 32 ¥Ó¥Ã¥È¤ò±Û¤¨¤ë¤³¤È¤Ï¤¢¤êÆÀ¤Þ¤¹¡£
+.SH ���ͼ�
+���ͼ��ϡ�ɾ����̤������ˤʤ뼰�Ǥ���
+���̤ˡ������κ��祵������ 32 �ӥå�̤���Ǥ���Ȳ��ꤹ�٤��ǤϤ���ޤ���
+���������٤� 32 �ӥåȤ�ۤ��뤳�ȤϤ������ޤ���
.PP
.B extract-int (\fIdata-expr\fB, \fIwidth\fB)\fR
.PP
.RS 0.25i
-\fBextract-int\fR ¥ª¥Ú¥ì¡¼¥¿¤Ï¡¢¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È½ç¤ÎÀ°¿ô¤ò¡¢
-»ØÄꤷ¤¿¥Ç¡¼¥¿¼°¤Îɾ²Á·ë²Ì¤«¤é¼è¤ê½Ð¤·¤Þ¤¹¡£
-Éý¤Ï¡¢¼è¤ê½Ð¤¹À°¿ô¤Î¥Ó¥Ã¥ÈÉý¤Ç¤¹¡£
-¸½ºß¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëÉý¤Ï 8, 16, 32 ¤Î¤¤¤º¤ì¤«¤Ç¤¹¡£
-¥Ç¡¼¥¿¼°¤Îɾ²Á·ë²Ì¤¬¡¢»ØÄꤷ¤¿Â礤µ¤ÎÀ°¿ô¤È¼è¤ê½Ð¤¹¤Î¤Ë
-½½Ê¬¤Ê¥Ó¥Ã¥È¤òÄ󶡤·¤Ê¤¤¾ì¹ç¡¢¶õ¤ÎÃͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£
+\fBextract-int\fR ���ڥ졼���ϡ��ͥåȥ���Х��Ƚ��������
+���ꤷ���ǡ�������ɾ����̤�����Ф��ޤ���
+���ϡ����Ф������Υӥå����Ǥ���
+���ߡ����ݡ��Ȥ���Ƥ������� 8, 16, 32 �Τ����줫�Ǥ���
+�ǡ�������ɾ����̤������ꤷ���礭���������ȼ��Ф��Τ�
+��ʬ�ʥӥåȤ����ʤ���硢�����ͤ��֤���ޤ���
.RE
.PP
.B lease-time
.PP
.RS 0.25i
-¸½ºß¤Î¥ê¡¼¥¹¤Î´ü´Ö¤Ç¤¹¡£
-¤¹¤Ê¤ï¤Á¡¢¸½ºß¤Î»þ¹ï¤È¥ê¡¼¥¹¤Î´ü¸Â¤¬ÀÚ¤ì¤ë»þ¹ï¤È¤Îº¹¤Ç¤¹¡£
+���ߤΥ���δ��֤Ǥ���
+���ʤ�������ߤλ���ȥ���δ��¤��ڤ�����Ȥκ��Ǥ���
.RE
.PP
.I number
.PP
.RS 0.25i
-0 ¤«¤éɽ¸½²Äǽ¤ÊºÇÂ祵¥¤¥º¤ÎÈϰϤÎǤ°Õ¤Î¿ôÃͤò¡¢¿ôÃͼ°¤È¤·¤Æ»ØÄê²Äǽ¤Ç¤¹¡£
+0 ����ɽ����ǽ�ʺ��祵�������ϰϤ�Ǥ�դο��ͤ��ͼ��Ȥ��ƻ����ǽ�Ǥ���
.RE
.PP
.B client-state
.PP
.RS 0.25i
-½èÍýÂоݤΥ¯¥é¥¤¥¢¥ó¥È¤Î¸½ºß¤Î¾õÂ֤Ǥ¹¡£
-DHCP ¥¯¥é¥¤¥¢¥ó¥ÈÀßÄê¥Õ¥¡¥¤¥ë¤Ë¤ª¤¤¤Æ¤Î¤ßÍÍѤǤ¹¡£
-¼è¤êÆÀ¤ëÃͤϼ¡¤ÎÄ̤ê¤Ç¤¹:
+�����оݤΥ��饤����Ȥθ��ߤξ��֤Ǥ���
+DHCP ���饤���������ե�����ˤ����ƤΤ�ͭ�ѤǤ���
+��������ͤϼ����̤�Ǥ�:
.TP 2
.I \(bu
-Booting - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï INIT ¾õÂ֤Ǥ¢¤ꡢ
-IP ¥¢¥É¥ì¥¹¤ò¤Þ¤À»ý¤Á¤Þ¤»¤ó¡£
-¼¡¤ËÁ÷¿®¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ï DHCPDISCOVER ¤Ç¤¢¤ꡢ
-¤³¤ì¤Ï¥Ö¥í¡¼¥É¥¥ã¥¹¥È¤µ¤ì¤Þ¤¹¡£
+Booting - DHCP ���饤����Ȥ� INIT ���֤Ǥ��ꡢ
+IP ���ɥ쥹��ޤ������ޤ���
+��������������å������� DHCPDISCOVER �Ǥ��ꡢ
+����ϥ֥����ɥ��㥹�Ȥ���ޤ���
.TP
.I \(bu
-Reboot - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï INIT-REBOOT ¾õÂ֤Ǥ¹¡£
-IP ¥¢¥É¥ì¥¹¤ò»ý¤Á¤Þ¤¹¤¬¤Þ¤À»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó¡£
-¼¡¤ËÁ÷¿®¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ï DHCPREQUEST ¤Ç¤¢¤ꡢ
-¤³¤ì¤Ï¥Ö¥í¡¼¥É¥¥ã¥¹¥È¤µ¤ì¤Þ¤¹¡£
-±þÅú¤¬²¿¤âʹ¤³¤¨¤Ê¤¤¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¤³¤Î¥¢¥É¥ì¥¹¤Ë¥Ð¥¤¥ó¥É¤·¡¢
-BOUND ¾õÂÖ¤ËÁ«°Ü¤·¤Þ¤¹¡£
+Reboot - DHCP ���饤����Ȥ� INIT-REBOOT ���֤Ǥ���
+IP ���ɥ쥹������ޤ����ޤ����Ѥ��Ƥ��ޤ���
+��������������å������� DHCPREQUEST �Ǥ��ꡢ
+����ϥ֥����ɥ��㥹�Ȥ���ޤ���
+����������ʹ�����ʤ��ȡ����饤����ȤϤ��Υ��ɥ쥹�˥Х���ɤ���
+BOUND ���֤����ܤ��ޤ���
.TP
.I \(bu
-Select - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï SELECTING ¾õÂ֤Ǥ¹¡£
-¾¯¤Ê¤¯¤È¤â 1 ¸Ä¤Î DHCPOFFER ¥á¥Ã¥»¡¼¥¸¤Ï¼õ¿®¤·¤Þ¤·¤¿¤¬¡¢
-¾¤Î DHCPOFFER ¥á¥Ã¥»¡¼¥¸¤ò¾¤Î¥µ¡¼¥Ð¤«¤é¼õ¤±¼è¤ë¤«¤É¤¦¤«ÂԤäƤ¤¤Þ¤¹¡£
-SELECTING ¾õÂ֤Ǥϥá¥Ã¥»¡¼¥¸¤ÏÁ÷¿®¤µ¤ì¤Þ¤»¤ó¡£
+Select - DHCP ���饤����Ȥ� SELECTING ���֤Ǥ���
+���ʤ��Ȥ� 1 �Ĥ� DHCPOFFER ��å������ϼ������ޤ�������
+¾�� DHCPOFFER ��å�������¾�Υ����Ф��������뤫�ɤ����ԤäƤ��ޤ���
+SELECTING ���֤Ǥϥ�å���������������ޤ���
.TP
.I \(bu
-Request - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï REQUESTING ¾õÂ֤Ǥ¹¡£
-¾¯¤Ê¤¯¤È¤â 1 ¸Ä¤Î DHCPOFFER ¥á¥Ã¥»¡¼¥¸¤ò¼õ¿®¤·¡¢
-¤½¤Î¤¦¤Á¤Î¤É¤ì¤òÍ׵᤹¤ë¤«ÁªÂò¤·¤Þ¤·¤¿¡£
-¼¡¤ËÁ÷¿®¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ï DHCPREQUEST ¥á¥Ã¥»¡¼¥¸¤Ç¤¢¤ꡢ
-¤³¤ì¤Ï¥Ö¥í¡¼¥É¥¥ã¥¹¥È¤µ¤ì¤Þ¤¹¡£
+Request - DHCP ���饤����Ȥ� REQUESTING ���֤Ǥ���
+���ʤ��Ȥ� 1 �Ĥ� DHCPOFFER ��å��������������
+���Τ����Τɤ���᤹�뤫���ޤ�����
+��������������å������� DHCPREQUEST ��å������Ǥ��ꡢ
+����ϥ֥����ɥ��㥹�Ȥ���ޤ���
.TP
.I \(bu
-Bound - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï BOUND ¾õÂ֤Ǥ¹¡£
-IP ¥¢¥É¥ì¥¹¤ò½êͤ·¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î¾õÂ֤Ǥϥá¥Ã¥»¡¼¥¸¤ÏÁ÷¿®¤µ¤ì¤Þ¤»¤ó¡£
+Bound - DHCP ���饤����Ȥ� BOUND ���֤Ǥ���
+IP ���ɥ쥹���ͭ���Ƥ��ޤ���
+���ξ��֤Ǥϥ�å���������������ޤ���
.TP
.I \(bu
-Renew - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï RENEWING ¾õÂ֤Ǥ¹¡£
-IP ¥¢¥É¥ì¥¹¤ò½êͤ·¤Æ¤ª¤ê¡¢¤³¤ì¤ò¹¹¿·¤¹¤ë¤¿¤á¤Ë¥µ¡¼¥Ð¤ËÀܳ¤ò»î¤ß¤Æ¤¤¤Þ¤¹¡£
-¼¡¤ËÁ÷¿®¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ï DHCPREQUEST ¥á¥Ã¥»¡¼¥¸¤Ç¤¢¤ꡢ
-¤³¤ì¤Ï¥µ¡¼¥Ð¤ËľÀÜ¥æ¥Ë¥¥ã¥¹¥È¤µ¤ì¤Þ¤¹¡£
+Renew - DHCP ���饤����Ȥ� RENEWING ���֤Ǥ���
+IP ���ɥ쥹���ͭ���Ƥ��ꡢ��������뤿��˥����Ф���³���ߤƤ��ޤ���
+��������������å������� DHCPREQUEST ��å������Ǥ��ꡢ
+����ϥ����Ф�ľ�ܥ�˥��㥹�Ȥ���ޤ���
.TP
.I \(bu
-Rebind - DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï REBINDING ¾õÂ֤Ǥ¹¡£
-IP ¥¢¥É¥ì¥¹¤ò½êͤ·¤Æ¤ª¤ꡢ
-¤³¤ì¤ò¹¹¿·¤¹¤ë¤¿¤á¤ËǤ°Õ¤Î¥µ¡¼¥Ð¤ËÀܳ¤ò»î¤ß¤Æ¤¤¤Þ¤¹¡£
-¼¡¤ËÁ÷¿®¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ï DHCPREQUEST ¥á¥Ã¥»¡¼¥¸¤Ç¤¢¤ꡢ
-¤³¤ì¤Ï¥Ö¥í¡¼¥É¥¥ã¥¹¥È¤µ¤ì¤Þ¤¹¡£
+Rebind - DHCP ���饤����Ȥ� REBINDING ���֤Ǥ���
+IP ���ɥ쥹���ͭ���Ƥ��ꡢ
+��������뤿���Ǥ�դΥ����Ф���³���ߤƤ��ޤ���
+��������������å������� DHCPREQUEST ��å������Ǥ��ꡢ
+����ϥ֥����ɥ��㥹�Ȥ���ޤ���
.RE
-.SH »²¾È: ¥í¥°
-¥í¥°Ê¸¤ò»ÈÍѤ·¤Æ¡¢É¸½à¥í¥°¥Á¥ã¥Í¥ë¤Ë¾ðÊó¤òÁ÷¿®²Äǽ¤Ç¤¹¡£
-¥í¥°Ê¸¤Ï¡¢¾Êά²Äǽ¤Ê priority
-(\fBfatal\fR, \fBerror\fR, \fBinfo\fR, \fBdebug\fR ¤Î¤¤¤º¤ì¤«) ¤È¡¢
-¥Ç¡¼¥¿¼°¤ò¼è¤ê¤Þ¤¹¡£
+.SH ����: ����
+����ʸ����Ѥ��ơ�ɸ���������ͥ�˾����������ǽ�Ǥ���
+����ʸ�ϡ���ά��ǽ�� priority
+(\fBfatal\fR, \fBerror\fR, \fBinfo\fR, \fBdebug\fR �Τ����줫) �ȡ�
+�ǡ���������ޤ���
.PP
.B log (\fIpriority\fB, \fIdata-expr\fB)\fR
-.\" "\FB" ¤Ï "\fB" ¤¬Àµ¤·¤¤
+.\" "\FB" �� "\fB" ��������
.\" horikawa@jp.FreeBSD.org 2002/04/29
.PP
-¥í¥°Ê¸¤Ï¡¢Ã±°ì¤Î¥Ç¡¼¥¿¼°°ú¿ô¤Î¤ß¼è¤ê¤Þ¤¹¡£
-ʣ¿ô¤Î¥Ç¡¼¥¿Ãͤò½ÐÎϤ·¤¿¤¤¾ì¹硢
-\fBconcat\fR ¥ª¥Ú¥ì¡¼¥¿¤ò»ÈÍѤ·¤Æ¤½¤ì¤é¤òÏ¢·ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+����ʸ�ϡ�ñ��Υǡ����������Τ��ޤ���
+ʣ���Υǡ����ͤ���Ϥ�������硢
+\fBconcat\fR ���ڥ졼������Ѥ��Ƥ�����Ϣ�뤹��ɬ�פ�����ޤ���
.RE
-.SH »²¾È: ưŪ¤Ê DNS ¹¹¿·
-.PP
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Ï¡¢
-ưŪ¤Ë¥É¥á¥¤¥ó¥Í¡¼¥à¥·¥¹¥Æ¥à¤ò¹¹¿·¤¹¤ëǽÎϤ¬¤¢¤ê¤Þ¤¹¡£
-ÀßÄê¥Õ¥¡¥¤¥ëÃæ¤Ë¡¢¤É¤Î¤è¤¦¤Ë¥É¥á¥¤¥ó¥Í¡¼¥à¥·¥¹¥Æ¥à¤ò¹¹¿·¤·¤ÆÍߤ·¤¤¤«¡¢
-ÄêµÁ²Äǽ¤Ç¤¹¡£
-¹¹¿·¤Ï RFC 2136 ¤Ë½¾¤Ã¤Æ¤¤¤ë¤¿¤ᡢ
-RFC 2136 ¤ò¥µ¥Ý¡¼¥È¤¹¤ë DNS ¥µ¡¼¥Ð¤Ï¡¢
-DHCP ¥µ¡¼¥Ð¤«¤é¤Î¹¹¿·¤ò¼õ¤±ÉÕ¤±²Äǽ¤È»×¤ï¤ì¤Þ¤¹¡£
-.SH ¥»¥¥å¥ê¥Æ¥£
-TSIG ¤ª¤è¤Ó DNSSEC ¤Ï¤Þ¤À¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-DHCP ¥µ¡¼¥Ð¤Þ¤¿¤Ï¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Î¹¹¿·¤ò¼õ¤±ÉÕ¤±¤ë¤è¤¦¤Ë
-DNS ¥µ¡¼¥Ð¤òÀßÄꤹ¤ë¾ì¹ç¡¢¸¢¸Â¤Î̵¤¤¹¹¿·¤ËÂФ·¤Æ
-DNS ¥µ¡¼¥Ð¤ò»¯¤¹¤³¤È¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-¤³¤ì¤òÈò¤±¤ë¤¿¤á¤Ëº£¤¹¤°¤Ç¤¤ëºÇÎɤÎÊýË¡¤Ï¡¢
-IP ¥¢¥É¥ì¥¹¥Ù¡¼¥¹¤Î¥Ñ¥±¥Ã¥È¥Õ¥£¥ë¥¿¤ò»ÈÍѤ·¤Æ¡¢
-¸¢¸Â¤Î̵¤¤¥Û¥¹¥È¤«¤é¤Î¹¹¿·Í×µáȯ¹Ô¤òÍ޻ߤ¹¤ë¤³¤È¤Ç¤¹¡£
-ÌÀ¤é¤«¤Ë¡¢¸½¾õ¤Ç¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¹¹¿·¤ËÂФ¹¤ë¥»¥¥å¥ê¥Æ¥£¤òÄ󶡤¹¤ëÊýË¡¤Ï
-¤¢¤ê¤Þ¤»¤ó¡£
-¤³¤Î¤¿¤á¤Ë¤Ï TSIG ¤« DNSSEC ¤¬É¬ÍפǤ¹¤¬¡¢
-¤³¤Î DHCP ÇÛÉÛʪ¤Ë¤Ï¤Þ¤À´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-.PP
-ưŪ DNS (DDNS) ¹¹¿·¤Ï¡¢\fBdns-update\fR ¼°¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-\fBdns-update\fR ¼°¤Ï¡¢¥Ö¡¼¥ë¼°¤Ç¤¢¤ê¡¢4 ¸Ä¤Î¥Ñ¥é¥á¡¼¥¿¤ò¼è¤ê¤Þ¤¹¡£
-¹¹¿·¤ËÀ®¸ù¤¹¤ë¤È¡¢·ë²Ì¤Ï¿¿¤Ë¤Ê¤ê¤Þ¤¹¡£
-¼ºÇÔ¤¹¤ë¤È¡¢·ë²Ì¤Ïµ¶¤Ë¤Ê¤ê¤Þ¤¹¡£
-4 ¸Ä¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢¥ê¥½¡¼¥¹¥ì¥³¡¼¥É¥¿¥¤¥× (RR)¡¢
-RR ¤Îº¸ÊÕ¡¢RR ¤Î±¦ÊÕ¡¢¥ì¥³¡¼¥É¤ËŬÍѤµ¤ì¤ë¤Ù¤ ttl ¤Ç¤¹¡£
-¤³¤Î´Ø¿ô¤ÎºÇ¤â´Êñ¤Ê»ÈÍÑÎã¤Ï¡¢dhcpd.conf ¥Õ¥¡¥¤¥ë¤Î»²¾ÈÀá¤Ë¤¢¤ꡢ
-¤Ê¤Ë¤¬µ¯¤¤ë¤«µ½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤ÎÎã¤Ç¤Ï¡¢Ê£¿ô¤Î¼°¤¬»ÈÍѤµ¤ì¤Æ¡¢
-\fBdns-update\fR ÍѤΰú¿ô¤¬ºîÀ®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-.PP
-Îã¤ÎÃæ¤Ç¤Ï¡¢ºÇ½é¤Î \fBdns-update\fR ¼°¤Ø¤Î 1 ÈÖÌܤΰú¿ô¤Ï¡¢
-A RR ¥¿¥¤¥×¤Ëɾ²Á¤µ¤ì¤ë¥Ç¡¼¥¿¼°¤Ç¤¹¡£
-2 ÈÖÌܤΰú¿ô¤Ï¡¢DHCP host-name ¥ª¥×¥·¥ç¥ó¤È
-¥í¡¼¥«¥ë¥É¥á¥¤¥ó¡¢¤³¤Î¾ì¹ç "ssd.example.net"¡¢
-¤ò´Þ¤à¥Æ¥¥¹¥È¥¹¥È¥ê¥ó¥°¤òÏ¢·ë¤¹¤ë¤³¤È¤Ç¡¢¹½ÃÛ¤µ¤ì¤Þ¤¹¡£
-3 ÈÖÌܤΰú¿ô¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥¢¥É¥ì¥¹¤ò¡¢
-32 ¥Ó¥Ã¥È¤Î¿ôÃͤ«¤é³Æ¥Ð¥¤¥È¤ò "." ¤Ç¶èÀڤä¿ ASCII ʸ»úÎó¤ËÊÑ´¹¤¹¤ë¤³¤È¤Ç¡¢
-¹½ÃÛ¤µ¤ì¤Þ¤¹¡£
-4 ÈÖÌܤΰú¿ô TTL ¤Ï¡¢¥ê¡¼¥¹¤Î»Ä¤ê»þ´Ö¤Ç¤¹
-(¤³¤ì¤ÏËÜÅö¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£
-¤Ê¤¼¤Ê¤é DNS ¥µ¡¼¥Ð¤Ï¡¢Í×µá¤ËÂФ·¤Æ¤¤¤Ä¤â¤³¤Î TTL Ãͤò½ÐÎϤ·¤Æ¤·¤Þ¤¦¤«¤é¤Ç¤¹¡£
-¤³¤ì¤Ï¡¢¥ê¡¼¥¹´ü¸ÂÀÚ¤ì¤Î¿ôÉÃÁ°¤Ç¤¢¤Ã¤Æ¤â¤Ç¤¹)¡£
-.PP
-ºÇ½é¤Î \fBdns-update\fR ʸ¤¬À®¸ù¤¹¤ë¤È¡¢
-°ú¤Â³¤¤¤Æ 2 ÈÖÌܤι¹¿·¤Ë¤è¤ê PTR RR ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£
-PTR ¥ì¥³¡¼¥É¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ï¡¢A RR ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ÈƱÍͤǤ¹¤¬¡¢
-¥ì¥³¡¼¥É¤Îº¸Êդϥ꡼¥¹¤µ¤ì¤¿¥¢¥É¥ì¥¹¤òµÕ¤Ë¤·¤Æ ".in-addr.arpa" ¤È
-·ë¹ç¤µ¤ì¤¿¤â¤Î¤Ç¤¹¡£
-±¦Êդϡ¢¥¢¥É¥ì¥¹¤Î¥ê¡¼¥¹Äó¶¡À襯¥é¥¤¥¢¥ó¥È¤Î¡¢´°Á´¤Ê·Á¤Ç¤Î¥É¥á¥¤¥ó̾¤Ç¤¹¡£
-.SH ´ØÏ¢¹àÌÜ
+.SH ����: ưŪ�� DNS ����
+.PP
+DHCP ���饤����Ȥȥ����Фϡ�
+ưŪ�˥ɥᥤ��͡��ॷ���ƥ������ǽ�Ϥ�����ޤ���
+����ե�������ˡ��ɤΤ褦�˥ɥᥤ��͡��ॷ���ƥ�������ߤ�������
+�����ǽ�Ǥ���
+������ RFC 2136 �˽��äƤ��뤿�ᡢ
+RFC 2136 �ݡ��Ȥ��� DNS �����Фϡ�
+DHCP �����Ф���ι���������դ���ǽ�Ȼפ��ޤ���
+.SH �������ƥ�
+TSIG ����� DNSSEC �Ϥޤ����ݡ��Ȥ���Ƥ��ޤ���
+DHCP �����Фޤ��ϥ��饤����Ȥ���ι���������դ���褦��
+DNS �����Ф����ꤹ���硢���¤�̵���������Ф���
+DNS �����Ф����Ȥˤʤ뤫�⤷��ޤ���
+������뤿��˺������Ǥ�����ɤ���ˡ�ϡ�
+IP ���ɥ쥹�١����Υѥ��åȥե��륿����Ѥ��ơ�
+���¤�̵���ۥ��Ȥ���ι�����ȯ�Ԥ��ߤ��뤳�ȤǤ���
+���餫�ˡ������Ǥϥ��饤����Ȥι������Ф��륻�����ƥ���������ˡ��
+����ޤ���
+���Τ���ˤ� TSIG �� DNSSEC ��ɬ�פǤ�����
+���� DHCP ����ʪ�ˤϤޤ��ޤޤ�Ƥ��ޤ���
+.PP
+ưŪ DNS (DDNS) �����ϡ�\fBdns-update\fR ������Ѥ��뤳�ȤǼ¹Ԥ���ޤ���
+\fBdns-update\fR ���ϡ��֡��뼰�Ǥ��ꡢ4 �ĤΥѥ�������ޤ���
+��������������ȡ���̤Ͽ��ˤʤ�ޤ���
+���Ԥ���ȡ���̤ϵ��ˤʤ�ޤ���
+4 �ĤΥѥ����ϡ�������쥳���ɥ����� (RR)��
+RR �κ��ա�RR �α��ա��쥳���ɤ�Ŭ�Ѥ����٤� ttl �Ǥ���
+���δؿ��κǤ��ñ�ʻ�����ϡ�dhcpd.conf �ե�����λ�����ˤ��ꡢ
+�ʤˤ������뤫���Ҥ���Ƥ��ޤ���
+������Ǥϡ�ʣ���μ������Ѥ���ơ�
+\fBdns-update\fR �Ѥΰ�������������Ƥ��ޤ���
+.PP
+�����Ǥϡ��ǽ�� \fBdns-update\fR ���ؤ� 1 ���ܤΰ����ϡ�
+A RR �����פ�ɾ�������ǡ������Ǥ���
+2 ���ܤΰ����ϡ�DHCP host-name ���ץ�����
+��������ɥᥤ���ξ�� "ssd.example.net"��
+��ޤ�ƥ����ȥ��ȥ��Ϣ�뤹�뤳�Ȥǡ����ۤ���ޤ���
+3 ���ܤΰ����ϡ����饤����Ȥ˳�����Ƥ�줿���ɥ쥹��
+32 �ӥåȤο��ͤ���ƥХ��Ȥ� "." �Ƕ��ڤä� ASCII ʸ������Ѵ����뤳�Ȥǡ�
+���ۤ���ޤ���
+4 ���ܤΰ��� TTL �ϡ�����λĤ���֤Ǥ�
+(���������������������ޤ���
+�ʤ��ʤ� DNS �����Фϡ�����Ф��Ƥ��Ĥ⤳�� TTL �ͤ���Ϥ��Ƥ��ޤ�����Ǥ���
+����ϡ���������ڤ�ο������Ǥ��äƤ�Ǥ�)��
+.PP
+�ǽ�� \fBdns-update\fR ʸ����������ȡ�
+����³���� 2 ���ܤι����ˤ�� PTR RR �����ȡ��뤵��ޤ���
+PTR �쥳���ɤΥ��ȡ���ϡ�A RR �Υ��ȡ����Ʊ�ͤǤ�����
+�쥳���ɤκ��դϥ�����줿���ɥ쥹��դˤ��� ".in-addr.arpa" ��
+��礵�줿��ΤǤ���
+���դϡ����ɥ쥹�Υ�����襯�饤����ȤΡ������ʷ��ǤΥɥᥤ��̾�Ǥ���
+.SH ��Ϣ����
dhcpd.conf(5), dhcpd.leases(5), dhclient.conf(5), dhcp-eval(5), dhcpd(8),
dhclient(8), RFC2132, RFC2131
-.SH ºî¼Ô
+.SH ���
Internet Systems Consortium DHCP Distribution
-¤Ï¡¢Vixie Labs ¤È¤Î·ÀÌó¤Î¤â¤È¤Ç¡¢Ted Lemon ¤¬µ½Ò¤·¤Þ¤·¤¿¡£
-ËÜ¥×¥í¥¸¥§¥¯¥È¤Î»ñ¶â¤Ï¡¢Internet Systems Consortium ¤¬Ä󶡤·¤Þ¤·¤¿¡£
-Internet Systems Consortium ¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¡¢
+�ϡ�Vixie Labs �Ȥη���Τ�Ȥǡ�Ted Lemon �����Ҥ��ޤ�����
+�ܥץ��������Ȥλ��ϡ�Internet Systems Consortium �����ޤ�����
+Internet Systems Consortium �˴ؤ������ϡ�
.B https://www.isc.org
-¤Ë¤¢¤ê¤Þ¤¹¡£
+�ˤ���ޤ���
.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Internet Systems Consortium, Inc.
-.\" 950 Charter Street
-.\" Redwood City, CA 94063
+.\" PO Box 360
+.\" Newmarket, NH 03857 USA
.\" <info@isc.org>
.\" https://www.isc.org/
.\"
.\" %FreeBSD: src/contrib/isc-dhcp/common/dhcp-options.5,v 1.2.2.1 2002/04/11 10:16:46 murray Exp %
.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/dhcp-options.5,v 1.11 2002/05/21 03:51:52 horikawa Exp $
-.\" WORD: Dynamic Host Configuration Protocol ưŪ¥Û¥¹¥È¹½À®¥×¥í¥È¥³¥ë
-.\" WORD: Path MTU Discovery ¥Ñ¥¹ MTU õº÷
-.\" WORD: Router Discovery ¥ë¡¼¥¿Ãµº÷
-.\" WORD: Router Solicitation ¥ë¡¼¥¿Í×ÀÁ
-.\" WORD: Mask Discovery ¥Þ¥¹¥¯Ãµº÷
+.\" WORD: Dynamic Host Configuration Protocol ưŪ�ۥ��ȹ����ץ��ȥ���
+.\" WORD: Path MTU Discovery �ѥ� MTU õ��
+.\" WORD: Router Discovery �롼��õ��
+.\" WORD: Router Solicitation �롼������
+.\" WORD: Mask Discovery �ޥ���õ��
.\"
.TH dhcp-options 5
-.SH ̾¾Î
-dhcp-options - ưŪ¥Û¥¹¥È¹½À®¥×¥í¥È¥³¥ë¤Î¥ª¥×¥·¥ç¥ó
-.SH ²òÀâ
-ưŪ¥Û¥¹¥È¹½À®¥×¥í¥È¥³¥ë (DHCP: Dynamic Host Configuration Protocol) ¤ò
-»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï DHCP ¥µ¡¼¥Ð¤«¤é¡¢¥Í¥Ã¥È¥ï¡¼¥¯ÀßÄê¤ä
-¥Í¥Ã¥È¥ï¡¼¥¯¾å¤ÇÍøÍѲÄǽ¤ÊÍÍ¡¹¤Ê¥µ¡¼¥Ó¥¹¤Ë¤Ä¤¤¤Æµ½Ò¤·¤Æ¤¤¤ë
-.B ¥ª¥×¥·¥ç¥ó
-¤ò¼õ¤±¼è¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+.SH ̾��
+dhcp-options - ưŪ�ۥ��ȹ����ץ��ȥ���Υ��ץ����
+.SH ����
+ưŪ�ۥ��ȹ����ץ��ȥ��� (DHCP: Dynamic Host Configuration Protocol) ��
+���Ѥ��뤳�Ȥˤ�ꡢ���饤����Ȥ� DHCP �����Ф��顢�ͥåȥ�������
+�ͥåȥ��������Ѳ�ǽ���͡��ʥ����ӥ��ˤĤ��Ƶ��Ҥ��Ƥ���
+.B ���ץ����
+�������뤳�Ȥ��Ǥ��ޤ���
.B dhcpd(8)
-¤ä
+��
.B dhclient(8)
-¤òÀßÄꤹ¤ë¤È¤¤Ë¡¢¤·¤Ð¤·¤Ð¥ª¥×¥·¥ç¥ó¤òÀë¸À¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£
-¤³¤³¤Ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤òÀë¸À¤¹¤ëʸˡ¡¢
-¤½¤·¤ÆÀë¸À²Äǽ¤Ê¥ª¥×¥·¥ç¥ó¤Î̾Á°¤È½ñ¼°¤òʸ½ñ²½¤·¤Æ¤¤¤Þ¤¹¡£
-.SH ¥ê¥Õ¥¡¥ì¥ó¥¹: ¥ª¥×¥·¥ç¥óʸ
+�����ꤹ��Ȥ��ˡ����Ф��Х��ץ������������ɬ�פ�����Ǥ��礦��
+�����Ǥϡ����ץ������������ʸˡ��
+�����������ǽ�ʥ��ץ�����̾���Ƚ�ʸ���Ƥ��ޤ���
+.SH ��ե����: ���ץ����ʸ
.PP
-DHCP \fIoption\fR ʸ¤Ï¡¢¾ï¤Ë¥¡¼¥ï¡¼¥É \fIoption\fR ¤Ç³«»Ï¤·¡¢
-ñ°ì¤Î¥ª¥×¥·¥ç¥ó̾¤¬Â³¤¡¢¥ª¥×¥·¥ç¥ó¥Ç¡¼¥¿¤¬Â³¤¤Þ¤¹¡£
-¥ª¥×¥·¥ç¥ó¤Î̾Á°¤È¥Ç¡¼¥¿¤Î½ñ¼°¤Ï¸å½Ò¤·¤Þ¤¹¡£
-¤¹¤Ù¤Æ¤Î DHCP ¥ª¥×¥·¥ç¥ó¤òÌÖÍåŪ¤Ë»ØÄꤹ¤ëɬÍפϤʤ¯¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤ËɬÍפʥª¥×¥·¥ç¥ó¤Î¤ß¤ò»ØÄꤷ¤Þ¤¹¡£
+DHCP \fIoption\fR ʸ�ϡ���˥������ \fIoption\fR �dz��Ϥ���
+ñ��Υ��ץ����̾��³�������ץ����ǡ�����³���ޤ���
+���ץ�����̾���ȥǡ����νϸ�Ҥ��ޤ���
+���٤Ƥ� DHCP ���ץ���������Ū�˻��ꤹ��ɬ�פϤʤ���
+���饤����Ȥ�ɬ�פʥ��ץ����Τߤ���ꤷ�ޤ���
.PP
-¥ª¥×¥·¥ç¥ó¥Ç¡¼¥¿¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤ËÍÍ¡¹¤Ê½ñ¼°¤¬¤¢¤ê¤Þ¤¹:
+���ץ����ǡ����ˤϡ����Τ褦���͡��ʽ�����ޤ�:
.PP
.B ip-address
-¥Ç¡¼¥¿¥¿¥¤¥×¤Ï¡¢ÌÀ¼¨Åª¤Ê IP ¥¢¥É¥ì¥¹ (Î㤨¤Ð 239.254.197.10) ¤Þ¤¿¤Ï
-¥É¥á¥¤¥ó̾ (Î㤨¤Ð haagen.isc.org) ¤Î¤É¤Á¤é¤Ç¤â»ØÄê²Äǽ¤Ç¤¹¡£
-¥É¥á¥¤¥ó̾¤Ç»ØÄꤹ¤ë¾ì¹硢
-¤½¤Î¥É¥á¥¤¥ó̾¤ò²ò·è¤¹¤ë¤Èñ°ì¤Î IP ¥¢¥É¥ì¥¹¤Ë¤Ê¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ǡ��������פϡ�����Ū�� IP ���ɥ쥹 (�㤨�� 239.254.197.10) �ޤ���
+�ɥᥤ��̾ (�㤨�� haagen.isc.org) �Τɤ���Ǥ�����ǽ�Ǥ���
+�ɥᥤ��̾�ǻ��ꤹ���硢
+���Υɥᥤ��̾���褹���ñ��� IP ���ɥ쥹�ˤʤ�褦�ˤ��Ƥ���������
.PP
.B int32
-¥Ç¡¼¥¿¥¿¥¤¥×¤ÏÉä¹æÉÕ¤ 32 ¥Ó¥Ã¥ÈÀ°¿ô¤ò»ØÄꤷ¤Þ¤¹¡£
+�ǡ��������פ�����դ� 32 �ӥå���������ꤷ�ޤ���
.B uint32
-¥Ç¡¼¥¿¥¿¥¤¥×¤ÏÉä¹æ̵¤· 32 ¥Ó¥Ã¥ÈÀ°¿ô¤ò»ØÄꤷ¤Þ¤¹¡£
+�ǡ��������פ����̵�� 32 �ӥå���������ꤷ�ޤ���
.B int16
-¤ª¤è¤Ó
+�����
.B uint16
-¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤Ï¡¢Éä¹æÉÕ¤¤ª¤è¤ÓÉä¹æ̵¤·¤Î 16 ¥Ó¥Ã¥ÈÀ°¿ô¤ò»ØÄꤷ¤Þ¤¹¡£
+�Υǡ��������פϡ�����դ���������̵���� 16 �ӥå���������ꤷ�ޤ���
.B int8
-¤ª¤è¤Ó
+�����
.B uint8
-¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤Ï¡¢Éä¹æÉÕ¤¤ª¤è¤ÓÉä¹æ̵¤·¤Î 8 ¥Ó¥Ã¥ÈÀ°¿ô¤ò»ØÄꤷ¤Þ¤¹¡£
-Éä¹æ̵¤· 8 ¥Ó¥Ã¥ÈÀ°¿ô¤Ï¡¢¥ª¥¯¥Æ¥Ã¥È¤È¸Æ¤Ð¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
+�Υǡ��������פϡ�����դ���������̵���� 8 �ӥå���������ꤷ�ޤ���
+���̵�� 8 �ӥå������ϡ������ƥåȤȸƤФ�뤳�Ȥ⤢��ޤ���
.PP
.B text
-¥Ç¡¼¥¿¥¿¥¤¥×¤Ï NVT ASCII ʸ»úÎó¤ò»ØÄꤷ¤Þ¤¹¡£
-ʸ»úÎó¤Ï¥À¥Ö¥ë¥¯¥©¡¼¥È¤Ç³ç¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-Î㤨¤Ð root-path ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëʸˡ¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+�ǡ��������פ� NVT ASCII ʸ�������ꤷ�ޤ���
+ʸ����ϥ��֥륯�����Ȥdz��ɬ�פ�����ޤ���
+�㤨�� root-path ���ץ�������ꤹ��ʸˡ�ϡ����Τ褦�ˤʤ�ޤ���
.nf
.sp 1
option root-path "10.0.1.4:/var/tmp/rootfs";
.fi
.PP
.B domain-name
-¥Ç¡¼¥¿¥¿¥¤¥×¤Ï¥É¥á¥¤¥ó̾¤ò»ØÄꤷ¤Þ¤¹¡£
-ʸ»úÎó¤ò¥À¥Ö¥ë¥¯¥©¡¼¥È¤Ç³ç¤Ã¤Æ¤¤¤±¤Þ¤»¤ó¡£
-¤³¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤Ï¡¢Â¾¤Î´û¸¤Î DHCP ¥ª¥×¥·¥ç¥ó¤Ë¤Ï»È¤ï¤ì¤Þ¤»¤ó¡£
-¥É¥á¥¤¥ó̾¤Ï¡¢text ¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ë¤«¤Î¤è¤¦¤ËÊÝ»ý¤µ¤ì¤Þ¤¹¡£
-.\" text ¥Ç¡¼¥¿¥¿¥¤¥×¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë?
+�ǡ��������פϥɥᥤ��̾����ꤷ�ޤ���
+ʸ�������֥륯�����Ȥdz�äƤ����ޤ���
+���Υǡ��������פϡ�¾�δ�¸�� DHCP ���ץ����ˤϻȤ��ޤ���
+�ɥᥤ��̾�ϡ�text ���ץ����Ǥ��뤫�Τ褦���ݻ�����ޤ���
+.\" text �ǡ��������פǤ��뤫�Τ褦��?
.\" metal
.PP
.B flag
-¥Ç¡¼¥¿¥¿¥¤¥×¤Ï¥Ö¡¼¥ëÃͤò»ØÄꤷ¤Þ¤¹¡£
-¥Ö¡¼¥ëÃÍ¤Ï true ¤Þ¤¿¤Ï false ¤Î¤¤¤º¤ì¤«¤Ç¤¹
-(¤â¤·¤¯¤Ï¡¢on ¤Þ¤¿¤Ï off ¤ÎÊý¤¬Ê¬¤«¤ê¤ä¤¹¤±¤ì¤Ð¡¢¤³¤Á¤é¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó)¡£
+�ǡ��������פϥ֡����ͤ���ꤷ�ޤ���
+�֡����ͤ� true �ޤ��� false �Τ����줫�Ǥ�
+(�⤷���ϡ�on �ޤ��� off ������ʬ����䤹����С�������Ǥ⤫�ޤ��ޤ���)��
.PP
.B string
-¥Ç¡¼¥¿¥¿¥¤¥×¤Ï¡¢¥À¥Ö¥ë¥¯¥©¡¼¥È¤Ç³ç¤é¤ì¤ë NVT ASCII ʸ»úÎ󤫡¢
-¥³¥í¥ó¶èÀÚ¤ê¤Î 16 ¿Ê¿ô¤Ç»ØÄꤵ¤ì¤ë¥ª¥¯¥Æ¥Ã¥È¤ÎϢ³¤Î¤¤¤º¤ì¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-Î㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹:
+�ǡ��������פϡ����֥륯�����Ȥdz���� NVT ASCII ʸ����
+��������ڤ�� 16 �ʿ��ǻ��ꤵ��륪���ƥåȤ�Ϣ³�Τ����줫����ꤷ�ޤ���
+�㤨�м��Τ褦�ˤʤ�ޤ�:
.nf
.sp 1
option dhcp-client-identifier "CLIENT-FOO";
-¤â¤·¤¯¤Ï
+�⤷����
option dhcp-client-identifier 43:4c:49:45:54:2d:46:4f:4f;
.fi
-.SH ¼°¤òÍѤ¤¤¿¥ª¥×¥·¥ç¥óÃͤÎÀßÄê
+.SH �����Ѥ������ץ�����ͤ�����
.\" metal
-¥¯¥é¥¤¥¢¥ó¥È¤¬Á÷½Ð¤¹¤ë¤¤¤¯¤Ä¤«¤ÎÃͤò¡¢DHCP ¥ª¥×¥·¥ç¥ó¤ÎÃͤòÀßÄꤹ¤ë¤Î¤Ë
-»È¤¨¤ë¤ÈÊØÍø¤Ê¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-¤³¤ì¤ò¤¹¤ë¤Ë¤Ï¼°¤Îɾ²Á¤¬ÍøÍѤǤ¤Þ¤¹¡£
+���饤����Ȥ����Ф��뤤���Ĥ����ͤ�DHCP ���ץ������ͤ����ꤹ��Τ�
+�Ȥ���������ʤ��Ȥ�����ޤ���
+�����ˤϼ���ɾ�������ѤǤ��ޤ���
.B dhcp-eval(5)
-¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ë¼°¤Î½ñ¤Êý¤¬½Ò¤Ù¤é¤ì¤Æ¤¤¤Þ¤¹¡£
-ɾ²Á¤Î·ë²Ì¤ò¥ª¥×¥·¥ç¥ó¤ËÂåÆþ¤¹¤ë¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ò¼¡¤Î¤è¤¦¤ËÄêµÁ¤·¤Þ¤¹:
+�ޥ˥奢��ڡ����˼��ν������Ҥ٤��Ƥ��ޤ���
+ɾ���η�̤ץ�������������ˤϡ����ץ����Τ褦��������ޤ�:
.nf
.sp 1
\fBoption \fImy-option \fB= \fIexpression \fB;\fR
.fi
.PP
-Î㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹:
+�㤨�м��Τ褦�ˤ��ޤ�:
.nf
.sp 1
option hostname = binary-to-ascii (16, 8, "-",
substring (hardware, 1, 6));
.fi
-.SH ɸ½à DHCP ¥ª¥×¥·¥ç¥ó
-¼¡¤Ë¼¨¤¹ÍÍ¡¹¤Ê¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ëµ½Ò¤Ï¡¢
-DHCP ¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ëºÇ¿·¤Î IETF ¥É¥é¥Õ¥Èʸ½ñ¤«¤é¤Î¤â¤Î¤Ç¤¹¡£
-̾Á°¤¬·ÇºÜ¤µ¤ì¤Æ¤¤¤Ê¤¤¥ª¥×¥·¥ç¥ó¤Ï¡¢¤Þ¤À¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢
-ÀßÄê¥Õ¥¡¥¤¥ë¤ËÄêµÁ¤¹¤ë¤³¤È¤Ç¡¢¤½¤Î¤è¤¦¤Ê¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
-¾Ü¤·¤¯¤Ï¡¢¤³¤ÎÀè¤Î¡Ö¿·µ¬¥ª¥×¥·¥ç¥ó¤ÎÄêµÁ¡×¤«¤é³¤¯µ½Ò¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-.PP
-¤³¤³¤Ëµ½Ò¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Î¤¦¤Á¤Î¤¤¤¯¤Ä¤«¤Ï¡¢DHCP ¥µ¡¼¥Ð¤â¤·¤¯¤Ï
-¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤ë¤â¤Î¤Ç¡¢¥æ¡¼¥¶¤Ë¤ÏÀßÄê¤Ç¤¤Þ¤»¤ó¡£
-¤½¤Î¤è¤¦¤Ê¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢¼õ¿®Â¦¤Î DHCP ¥×¥í¥È¥³¥ë¥¨¡¼¥¸¥§¥ó¥È
-(¥µ¡¼¥Ð¤â¤·¤¯¤Ï¥¯¥é¥¤¥¢¥ó¥È) ¤ÎÀßÄê¥Õ¥¡¥¤¥ëÃæ¤Î¡¢Î㤨¤Ð¾ò·ï¼°¤Ê¤É¤Ç
-»È¤ï¤ì¤Þ¤¹¡£
-¤·¤«¤·¤³¤Î¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢Á÷¿®Â¦¤Î¥¨¡¼¥¸¥§¥ó¥È¤ÎÀßÄê¥Õ¥¡¥¤¥ëÃæ¤Ç¤Ï
-»È¤ï¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
-¤È¤¤¤¦¤Î¤â¡¢¤½¤ÎÃͤϡ¢ÀßÄê¥Õ¥¡¥¤¥ë¤¬½èÍý¤µ¤ì¤¿¸å¤Ë·èÄꤵ¤ì¤ë¤«¤é¤Ç¤¹¡£
-°Ê¹ß¤Îµ½Ò¤Ë¤ª¤¤¤Æ¡¢¤½¤Î¤è¤¦¤Ê¥ª¥×¥·¥ç¥ó¤Ë¤Ï
-¡Ö¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡×¤Èµ¤µ¤ì¤Þ¤¹¡£
-.PP
-ɸ½à¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹:
+.SH ɸ�� DHCP ���ץ����
+���˼����͡��ʥ��ץ����˴ؤ��뵭�Ҥϡ�
+DHCP ���ץ����˴ؤ���ǿ��� IETF �ɥ�ե�ʸ��Τ�ΤǤ���
+̾�����Ǻܤ���Ƥ��ʤ����ץ����ϡ��ޤ���������Ƥ��ʤ����⤷��ޤ���
+����ե������������뤳�Ȥǡ����Τ褦�ʥ��ץ�����Ȥ��뤫�⤷��ޤ���
+�ܤ����ϡ�������Ρֿ������ץ���������פ���³�����ҤȤ��Ƥ���������
+.PP
+�����˵��Ҥ���Ƥ��륪�ץ����Τ����Τ����Ĥ��ϡ�DHCP �����Ф⤷����
+���饤����Ȥˤ�äƼ�ưŪ������������Τǡ��桼���ˤ�����Ǥ��ޤ���
+���Τ褦�ʥ��ץ������ͤϡ�����¦�� DHCP �ץ��ȥ��륨���������
+(�����Ф⤷���ϥ��饤�����) ������ե�������Ρ��㤨�о�P�ʤɤ�
+�Ȥ��ޤ���
+���������Υ��ץ������ͤϡ�����¦�Υ���������Ȥ�����ե�������Ǥ�
+�Ȥ��뤳�ȤϤ���ޤ���
+�Ȥ����Τ⡢�����ͤϡ�����ե����뤬�������줿��˷��ꤵ��뤫��Ǥ���
+�ʹߤε��Ҥˤ����ơ����Τ褦�ʥ��ץ����ˤ�
+�֥桼�������ꤹ�뤳�ȤϤǤ��ޤ���פȵ�����ޤ���
+.PP
+ɸ�४�ץ������ޤ�:
.PP
.B option \fBall-subnets-local\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬Àܳ¤µ¤ì¤Æ¤¤¤ë IP ¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÁ´¥µ¥Ö¥Í¥Ã¥È¤¬
-»ÈÍѤ¹¤ë MTU ¤¬¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬Ä¾ÀÜÀܳ¤µ¤ì¤Æ¤¤¤ë¥µ¥Ö¥Í¥Ã¥È¤Î MTU ¤È
-Ʊ¤¸¤Ç¤¢¤ë¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬²¾Äꤷ¤Æ¤è¤¤¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ true ¤Ï¡¢Á´¥µ¥Ö¥Í¥Ã¥È¤ÏƱ°ì¤Î MTU ¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-ÃÍ false ¤Ï¡¢Ä¾ÀÜÀܳ¤µ¤ì¤Æ¤¤¤ë¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥µ¥Ö¥Í¥Ã¥È¤Ë¤Ï¡¢¤è¤ê¾®¤µ¤Ê MTU ¤ò
-»ý¤Ä¤â¤Î¤¬¤¢¤ë¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬²¾Äꤹ¤Ù¤¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ���³����Ƥ��� IP �ͥåȥ���������֥ͥåȤ�
+���Ѥ��� MTU �������饤����Ȥ�ľ����³����Ƥ��륵�֥ͥåȤ� MTU ��
+Ʊ���Ǥ���ȡ����饤����Ȥ����ꤷ�Ƥ褤������ꤷ�ޤ���
+�� true �ϡ������֥ͥåȤ�Ʊ��� MTU �Ǥ��뤳�Ȥ��̣���ޤ���
+�� false �ϡ�ľ����³����Ƥ���ͥåȥ���Υ��֥ͥåȤˤϡ���꾮���� MTU ��
+���Ĥ�Τ�����ȡ����饤����Ȥ����ꤹ�٤��Ǥ��뤳�Ȥ��̣���ޤ���
.RE
.PP
.B option \fBarp-cache-timeout\fR \fIuint32\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢ARP ¥¥ã¥Ã¥·¥å¥¨¥ó¥È¥ê¤Î¥¿¥¤¥à¥¢¥¦¥È¤òÉÿô¤Ç»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ�ARP ����å��奨��ȥ�Υ����ॢ���Ȥ��ÿ��ǻ��ꤷ�ޤ���
.RE
.PP
.B option \fBbootfile-name\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢µ¯Æ°¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹¡£
-¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹硢
-¤³¤ì¤Ï \fBfilename\fR Àë¸À¤ÈƱ¤¸¸ú²Ì¤ò»ý¤Á¤Þ¤¹¡£
-BOOTP ¥¯¥é¥¤¥¢¥ó¥È¤Ç¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤â¤Î¤Ï¾¯¤Ê¤¤¤Ç¤·¤ç¤¦¡£
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ¤Ï¥µ¥Ý¡¼¥È¤¹¤ë¤â¤Î¤¬¤¢¤ꡢ
-¼ÂºÝɬ¿Ü¤È¤·¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
+�ܥ��ץ����ϡ���ư�ե��������ꤹ�뤿��˻��Ѥ��ޤ���
+���饤����Ȥˤ�äƥ��ݡ��Ȥ���Ƥ����硢
+����� \fBfilename\fR �����Ʊ�����̤�����ޤ���
+BOOTP ���饤����Ȥǡ����Υ��ץ����ݡ��Ȥ��Ƥ����ΤϾ��ʤ��Ǥ��礦��
+DHCP ���饤����Ȥˤ�äƤϥ��ݡ��Ȥ����Τ����ꡢ
+�º�ɬ�ܤȤ��Ƥ����Τ�����ޤ���
.RE
.PP
.B option \fBboot-size\fR \fIuint16\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥ÈÍѤΥǥե©¥ë¥È¤Î¥Ö¡¼¥È¥¤¥á¡¼¥¸¤ÎŤµ¤ò¡¢
-512 ¥ª¥¯¥Æ¥Ã¥È¥Ö¥í¥Ã¥¯¿ô¤Ç»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤������ѤΥǥե���ȤΥ֡��ȥ������Ĺ����
+512 �����ƥåȥ֥��å����ǻ��ꤷ�ޤ���
.RE
.PP
.B option \fBbroadcast-address\fR \fIip-address\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥µ¥Ö¥Í¥Ã¥È¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë
-¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-ÀµÅö¤Ê¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹¤ÎÃͤϡ¢STD 3 (RFC1122) ¤Î 3.2.1.3 Àá¤Ë
-µ¬Äꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����ȤΥ��֥ͥåȤǻ��Ѥ���Ƥ���
+�֥����ɥ��㥹�ȥ��ɥ쥹����ꤷ�ޤ���
+�����ʥ֥����ɥ��㥹�ȥ��ɥ쥹���ͤϡ�STD 3 (RFC1122) �� 3.2.1.3 ���
+���ꤵ��Ƥ��ޤ���
.RE
.PP
.B option \fBcookie-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-¥¯¥Ã¥¡¼¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê
-RFC 865 ¥¯¥Ã¥¡¼¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+���å��������Х��ץ����ϡ����饤����Ȥ����Ѳ�ǽ��
+RFC 865 ���å��������ФΥꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBdefault-ip-ttl\fR \fIuint8;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥Ç¡¼¥¿¥°¥é¥à¤òÁ÷½Ð¤¹¤ë¤È¤¤Ë»ÈÍѤ¹¤Ù¤¡¢
-¥Ç¥Õ¥©¥ë¥È¤ÎÀ¸Â¸»þ´Ö (TTL) ¤ò»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ��ǡ������������Ф���Ȥ��˻��Ѥ��٤���
+�ǥե���Ȥ���¸���� (TTL) ����ꤷ�ޤ���
.RE
.PP
.B option \fBdefault-tcp-ttl\fR \fIuint8\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ TCP ¥»¥°¥á¥ó¥È¤òÁ÷½Ð¤¹¤ë¤È¤¤Ë»ÈÍѤ¹¤Ù¤¡¢
-¥Ç¥Õ¥©¥ë¥È¤Î TTL ¤ò»ØÄꤷ¤Þ¤¹¡£
-ºÇ¾®ÃÍ¤Ï 1 ¤Ç¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ� TCP �������Ȥ����Ф���Ȥ��˻��Ѥ��٤���
+�ǥե���Ȥ� TTL ����ꤷ�ޤ���
+�Ǿ��ͤ� 1 �Ǥ���
.RE
.PP
.B option \fBdhcp-client-identifier\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢¥Û¥¹¥ÈÀë¸ÀÃæ¤Ç DHCP ¥¯¥é¥¤¥¢¥ó¥È¼±Ê̻Ҥò
-»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤³¤Î¥¯¥é¥¤¥¢¥ó¥È¼±Ê̻ҤǾȹç¤ò¹Ô¤¦¤³¤È¤Ç¡¢
-dhcpd ¤Ï¤½¤Î¥Û¥¹¥È¤Î¥ì¥³¡¼¥É¤òȯ¸«¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+�ܥ��ץ�����Ȥäơ��ۥ��������� DHCP ���饤����ȼ��̻Ҥ�
+���ꤹ�뤳�Ȥ��Ǥ��ޤ���
+���Υ��饤����ȼ��̻ҤǾȹ��Ԥ����Ȥǡ�
+dhcpd �Ϥ��Υۥ��ȤΥ쥳���ɤ�ȯ�����뤳�Ȥ��Ǥ��ޤ���
.PP
.\" metal
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ÎÃæ¤Ë¤Ï¡¢ASCII ¥Æ¥¥¹¥È¤Ë¤è¤Ã¤Æ¥¯¥é¥¤¥¢¥ó¥È¼±Ê̻Ҥ¬
-ÀßÄꤵ¤ì¤¿¾ì¹ç¡¢¤½¤Î ASCII ¥Æ¥¥¹¥È¤ÎÀèƬ¤Ë 0 ¤ò¤Ä¤±¤ë¤â¤Î¤¬¤¢¤ë¤³¤È¤Ë
-Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤½¤Î¾ì¹硢
+DHCP ���饤����Ȥ���ˤϡ�ASCII �ƥ����Ȥˤ�äƥ��饤����ȼ��̻Ҥ�
+���ꤵ�줿��硢���� ASCII �ƥ����Ȥ���Ƭ�� 0 ��Ĥ����Τ����뤳�Ȥ�
+���դ��Ƥ���������
+���ξ�硢
.nf
option dhcp-client-identifier "foo";
-¤Ç¤Ï¤Ê¤¯¡¢°Ê²¼¤Î¤è¤¦¤Ëµ½Ò¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£
+�ǤϤʤ����ʲ��Τ褦�˵��Ҥ���ɬ�פ�����Ǥ��礦��
option dhcp-client-identifier "\\0foo";
.fi
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥ÈÍ×µá (DHCPDISCOVER ¤Þ¤¿¤Ï DHCPREQUEST) ¤ÎÃæ¤Ç¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬ IP ¥¢¥É¥ì¥¹¤Î¥ê¡¼¥¹»þ´Ö¤òÍ׵᤹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤Þ¤¿¥µ¡¼¥Ð±þÅú (DHCPOFFER) ¤ÎÃæ¤Ç¡¢DHCP ¥µ¡¼¥Ð¤¬Ä󼨤·¤¿¤¤¥ê¡¼¥¹»þ´Ö¤ò
-»ØÄꤹ¤ë¤Î¤Ë¤â¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï»È¤ï¤ì¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤������� (DHCPDISCOVER �ޤ��� DHCPREQUEST) ����ǡ�
+���饤����Ȥ� IP ���ɥ쥹�Υ�����֤��᤹�뤿��˻��Ѥ���ޤ���
+�ޤ������б��� (DHCPOFFER) ����ǡ�DHCP �����Ф�������������֤�
+���ꤹ��Τˤ⡢���Υ��ץ����ϻȤ��ޤ���
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥µ¡¼¥Ð¤Ç¤Ï¥æ¡¼¥¶¤¬Ä¾ÀÜÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ������ФǤϥ桼����ľ�����ꤹ�뤳�ȤϤǤ��ޤ���
.B dhcpd.conf(5)
-¤Î \fImax-lease-time\fR ¤È \fidefault-lease-time\fR ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤ò
-»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�� \fImax-lease-time\fR �� \fidefault-lease-time\fR �����Х��ץ�����
+���Ȥ��Ƥ���������
.RE
.PP
.B option \fBdhcp-max-message-size\fR \fIuint16\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤éÁ÷½Ð¤µ¤ì¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤Ë
-Á÷½Ð¤¹¤ë¤¹¤Ù¤Æ¤Î±þÅú¤ÎºÇÂ祵¥¤¥º¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤ÇÀßÄꤵ¤ì¤¿¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ dhcp-max-message-size ¥ª¥×¥·¥ç¥ó¤ò
-Á÷¿®¤·¤Æ¤³¤Ê¤«¤Ã¤¿ºÝ¤Ë¡¢¤³¤Î¥µ¡¼¥Ð¤ÇÀßÄꤵ¤ì¤¿Ãͤ¬»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢BOOTP ±þÅú¤Ç¤â DHCP ±þÅú¤ÈƱÍͤËÆ°ºî¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ������Ф��줿��硢�����Ф����饤����Ȥ�
+���Ф��뤹�٤Ƥα����κ��祵��������ꤷ�ޤ���
+�����Ф����ꤵ�줿��硢���饤����Ȥ� dhcp-max-message-size ���ץ�����
+�������Ƥ��ʤ��ä��ݤˡ����Υ����Ф����ꤵ�줿�ͤ����Ѥ���ޤ���
+����ϡ�BOOTP �����Ǥ� DHCP ������Ʊ�ͤ�ư��ޤ���
.RE
.PP
.B option \fBdhcp-message\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¾ã³²¤¬µ¯¤¤¿»þ¤Ë¡¢DHCP ¥µ¡¼¥Ð¤¬ DHCPNAK ¥á¥Ã¥»¡¼¥¸Ãæ¤Ç
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ø¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÄ󶡤¹¤ë¤Î¤Ë»ÈÍѤ·¤Þ¤¹¡£
-¤Þ¤¿¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢Ä󼨤µ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤òµñÈݤ·¤¿Íýͳ¤ò¼¨¤¹¤¿¤á¤Ë¡¢
-DHCPDECLINE ¥á¥Ã¥»¡¼¥¸Ãæ¤ÇËÜ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
+�ܥ��ץ����ϡ��㳲�����������ˡ�DHCP �����Ф� DHCPNAK ��å��������
+DHCP ���饤����Ȥإ��顼��å�����������Τ˻��Ѥ��ޤ���
+�ޤ����饤����Ȥ������줿�ѥ�������ݤ�����ͳ������ˡ�
+DHCPDECLINE ��å���������ܥ��ץ�����Ȥ����Ȥ⤢��ޤ���
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ��桼�������ꤹ�뤳�ȤϤǤ��ޤ���
.RE
.PP
.B option \fBdhcp-message-type\fR \fIuint8\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Îξ¼Ô¤«¤éÁ÷½Ð¤µ¤졢
-DHCP ¥Ñ¥±¥Ã¥È¤¬´Þ¤ó¤Ç¤¤¤ë DHCP ¥á¥Ã¥»¡¼¥¸¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£
-ËÜ¥ª¥×¥·¥ç¥ó¤¬¼è¤êÆÀ¤ëÃͤϡ¢°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹ (RFC2132 ¤è¤ê¤½¤Î¤Þ¤ÞÈ´¿è)¡£
+�ܥ��ץ����ϡ����饤����Ȥȥ����Ф�ξ�Ԥ������Ф��졢
+DHCP �ѥ��åȤ��ޤ�Ǥ��� DHCP ��å������Υ����פ���ꤷ�ޤ���
+�ܥ��ץ����������ͤϡ��ʲ��ΤȤ���Ǥ� (RFC2132 ��ꤽ�Τޤ�ȴ��)��
.PP
.nf
1 DHCPDISCOVER
5 DHCPACK
6 DHCPNAK
7 DHCPRELEASE
- 8 DHCPINFORM
+ 8 DHCPINFORM
.fi
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ��桼�������ꤹ�뤳�ȤϤǤ��ޤ���
.PP
.RE
.B option \fBdhcp-option-overload\fR \fIuint8\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢DHCP 'sname' ¤â¤·¤¯¤Ï 'file' ¥Õ¥£¡¼¥ë¥É¤¬¡¢
-DHCP ¥ª¥×¥·¥ç¥ó¤òÊÝ»ý¤¹¤ë¤¿¤á¤ËµÍ¤á¹þ¤ß²á¤®¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ò
-¼¨¤¹¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£
-DHCP ¥µ¡¼¥Ð¤Ï¡¢ÊֵѤµ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤¬¡¢¥ª¥×¥·¥ç¥ó¤ËÄ̾ï³ä¤êÅö¤Æ¤é¤줿
-¶õ´Ö¤òĶ²á¤·¤¿¾ì¹ç¡¢ËÜ¥ª¥×¥·¥ç¥ó¤òÁÞÆþ¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ�DHCP 'sname' �⤷���� 'file' �ե�����ɤ���
+DHCP ���ץ������ݻ����뤿��˵ͤ���߲�ˤʤäƤ��뤳�Ȥ�
+�����Τ˻Ȥ��ޤ���
+DHCP �����Фϡ��ֵѤ��줿�ѥ����������ץ������̾������Ƥ�줿
+���֤�Ķ�ᤷ����硢�ܥ��ץ������������ޤ���
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤¬Â¸ºß¤·¤¿¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢É¸½à¤Î¥ª¥×¥·¥ç¥ó¥Õ¥£¡¼¥ë¥É¤Î
-²ò¼á¤¬½ªÎ»¤·¤¿¸å¡¢»ØÄꤵ¤ì¤¿Éղåե£¡¼¥ë¥É¤Î²ò¼á¤ò¹Ô¤¤¤Þ¤¹¡£
+�ܥ��ץ����¸�ߤ�����硢���饤����Ȥϡ�ɸ��Υ��ץ����ե�����ɤ�
+����λ�����塢���ꤵ�줿�ղåե�����ɤβ���Ԥ��ޤ���
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤ÎÀµÅö¤ÊÃͤϡ¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹:
+�ܥ��ץ������������ͤϡ��ʲ����̤�Ǥ�:
.PP
.nf
- 1 'file' ¥Õ¥£¡¼¥ë¥É¤¬¡¢¥ª¥×¥·¥ç¥óÊÝ»ý¤Ë»ÈÍѤµ¤ì¤Æ¤Þ¤¹
- 2 'sname' ¥Õ¥£¡¼¥ë¥É¤¬¡¢¥ª¥×¥·¥ç¥óÊÝ»ý¤Ë»ÈÍѤµ¤ì¤Æ¤Þ¤¹
- 3 ξÊý¤Î¥Õ¥£¡¼¥ë¥É¤¬¡¢¥ª¥×¥·¥ç¥óÊÝ»ý¤Ë»ÈÍѤµ¤ì¤Æ¤Þ¤¹
+ 1 'file' �ե�����ɤ������ץ�����ݻ��˻��Ѥ���Ƥޤ�
+ 2 'sname' �ե�����ɤ������ץ�����ݻ��˻��Ѥ���Ƥޤ�
+ 3 ξ���Υե�����ɤ������ץ�����ݻ��˻��Ѥ���Ƥޤ�
.fi
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ��桼�������ꤹ�뤳�ȤϤǤ��ޤ���
.PP
.RE
.PP
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤éÁ÷½Ð¤µ¤ì¤¿¾ì¹硢
-¥µ¡¼¥Ð¤ËÊÖÅú¤ò´õ˾¤¹¤ë¥ª¥×¥·¥ç¥ó¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬»ØÄꤷ¤Þ¤¹¡£
-Ä̾ï ISC DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Ï¡¢\fIrequest\fR ʸ¤òÍѤ¤¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£
-ËÜ¥ª¥×¥·¥ç¥ó¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢Ä̾ï DHCP ¥µ¡¼¥Ð¤Ï¡¢
-¥¹¥³¡¼¥×Æâ¤Ç͸ú¤«¤Ä±þÅú¤Ë¼ý¤Þ¤ë¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤òÊÖ¤·¤Þ¤¹¡£
-ËÜ¥ª¥×¥·¥ç¥ó¤¬¥µ¡¼¥Ð¾å¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¤Ï¤½¤Î»ØÄꤵ¤ì¤¿¥ª¥×¥·¥ç¥ó¤ò
-ÊÖ¤·¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬Í׵ᤷ¤Ê¤«¤Ã¤¿¥ª¥×¥·¥ç¥ó¤ò¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ë
-¶¯À©¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-¤Þ¤¿¡¢Ä̾掠¡¼¥Ð¤¬ÊÖ¤¹¥ª¥×¥·¥ç¥ó¤Î¥»¥Ã¥È¤ò¤µ¤é¤ËÀ©¸Â¤¹¤ëɬÍפΤ¢¤ë
-¥¯¥é¥¤¥¢¥ó¥È¤ËÂФ·¤Æ¡¢DHCP ¥µ¡¼¥Ð¤Î±þÅú¤òÄ´À°¤¹¤ë¤Î¤Ë¤â»ÈÍѤµ¤ì¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ������Ф��줿��硢
+�����Ф��������˾���륪�ץ����饤����Ȥ����ꤷ�ޤ���
+�̾� ISC DHCP ���饤����ȤǤϡ�\fIrequest\fR ʸ���Ѥ��ƹԤ��ޤ���
+�ܥ��ץ�����饤����Ȥ�����ꤵ��ʤ��ä���硢�̾� DHCP �����Фϡ�
+�����������ͭ�����ı����˼��ޤ뤹�٤ƤΥ��ץ������֤��ޤ���
+�ܥ��ץ�������о�ǻ��ꤵ�줿��硢�����ФϤ��λ��ꤵ�줿���ץ�����
+�֤��ޤ���
+����ϡ����饤����Ȥ��ᤷ�ʤ��ä����ץ������饤����Ȥ�
+��������Τ˻��Ѥ���ޤ���
+�ޤ����̾掠���Ф��֤����ץ����Υ��åȤ�����¤���ɬ�פΤ���
+���饤����Ȥ��Ф��ơ�DHCP �����Фα�����Ĵ������Τˤ���Ѥ���ޤ���
.RE
.PP
.B option \fBdhcp-rebinding-time\fR \fIuint32\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥¢¥É¥ì¥¹¤ò¼èÆÀ¤·¤Æ¤«¤é REBINDING ¾õÂÖ¤Ë
-°Ü¹Ô¤¹¤ë¤Þ¤Ç¤Î»þ´Ö¤òÉÿô¤Ç»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ����ɥ쥹��������Ƥ��� REBINDING ���֤�
+�ܹԤ���ޤǤλ��֤��ÿ��ǻ��ꤷ�ޤ���
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ��桼�������ꤹ�뤳�ȤϤǤ��ޤ���
.PP
.RE
.PP
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥¢¥É¥ì¥¹¤ò¼èÆÀ¤·¤Æ¤«¤é RENEWING ¾õÂÖ¤Ë
-°Ü¹Ô¤¹¤ë¤Þ¤Ç¤Î»þ´Ö¤òÉÿô¤Ç»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ����ɥ쥹��������Ƥ��� RENEWING ���֤�
+�ܹԤ���ޤǤλ��֤��ÿ��ǻ��ꤷ�ޤ���
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ��桼�������ꤹ�뤳�ȤϤǤ��ޤ���
.PP
.RE
.PP
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢DHCPDISCOVER Æâ¤ÇÆÃÄê¤Î IP ¥¢¥É¥ì¥¹¤¬
-³ä¤êÅö¤Æ¤é¤ì¤ë¤³¤È¤òÍ׵᤹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ���DHCPDISCOVER �������� IP ���ɥ쥹��
+������Ƥ��뤳�Ȥ��᤹��Τ˻��Ѥ���ޤ���
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ��桼�������ꤹ�뤳�ȤϤǤ��ޤ���
.PP
.RE
.PP
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢DHCPOFFER ¤È DHCPREQUEST ¥á¥Ã¥»¡¼¥¸Ãæ¤Ç»ÈÍѤµ¤졢
-¤Þ¤¿ DHCPACK ¤È DHCPNAK ¥á¥Ã¥»¡¼¥¸Ãæ¤Ë¤â´Þ¤Þ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
-DHCP ¥µ¡¼¥Ð¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ (ÌõÃí: Ê£¿ô¥µ¡¼¥Ð¤«¤é¤Î) ¥ê¡¼¥¹¤ÎÄ󼨤ò
-¶èÊ̤Ǥ¤ë¤è¤¦¡¢DHCPOFFER ¤ËËÜ¥ª¥×¥·¥ç¥ó¤ò´Þ¤á¤Þ¤¹¡£
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢DHCP ¥µ¡¼¥Ð¤Ø¥æ¥Ë¥¥ã¥¹¥È¤¹¤ë¤¹¤Ù¤Æ¤Î DHCP ¥á¥Ã¥»¡¼¥¸¤Î
-°¸À襢¥É¥ì¥¹¤È¤·¤Æ 'server identifier' ¥Õ¥£¡¼¥ë¥É¤ÎÆâÍƤò»ÈÍѤ·¤Þ¤¹¡£
-¤Þ¤¿ DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢DHCPREQUEST ¥á¥Ã¥»¡¼¥¸Ãæ¤ËËÜ¥ª¥×¥·¥ç¥ó¤ò´ޤᡢ
-ʣ¿ô¤Î¥ê¡¼¥¹¤ÎÄ󼨤Τɤì¤ò¼õ¤±Æþ¤ì¤¿¤«¤ò¼¨¤·¤Þ¤¹¡£
-.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢¥µ¡¼¥Ð¤Î IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£
-.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬Ä¾ÀÜÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ�DHCPOFFER �� DHCPREQUEST ��å�������ǻ��Ѥ��졢
+�ޤ� DHCPACK �� DHCPNAK ��å�������ˤ�ޤޤ�뤳�Ȥ�����ޤ���
+DHCP �����Фϡ����饤����Ȥ� (����: ʣ�������Ф����) �������
+���̤Ǥ���褦��DHCPOFFER ���ܥ��ץ�����ޤ�ޤ���
+DHCP ���饤����Ȥϡ�DHCP �����Фإ�˥��㥹�Ȥ��뤹�٤Ƥ� DHCP ��å�������
+���襢�ɥ쥹�Ȥ��� 'server identifier' �ե�����ɤ����Ƥ���Ѥ��ޤ���
+�ޤ� DHCP ���饤����Ȥϡ�DHCPREQUEST ��å���������ܥ��ץ�����ޤᡢ
+ʣ���Υ�����Τɤ��������줿�����ޤ���
+.PP
+�ܥ��ץ������ͤϡ������Ф� IP ���ɥ쥹�Ǥ���
+.PP
+�ܥ��ץ����ϡ��桼����ľ�����ꤹ�뤳�ȤϤǤ��ޤ���
.B \fIdhcpd.conf(5)
-¤Î \fIserver-identifier\fR ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�� \fIserver-identifier\fR �����Х��ץ����Ȥ��Ƥ���������
.PP
.RE
.PP
.B option \fBdomain-name\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥É¥á¥¤¥ó¥Í¡¼¥à¥·¥¹¥Æ¥à¤ò»ÈÍѤ·¤Æ¥Û¥¹¥È̾¤ò²ò·è¤¹¤ë¤È¤¤Ë
-¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍѤ¹¤Ù¤¥É¥á¥¤¥ó̾¤ò»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ��ɥᥤ��͡��ॷ���ƥ����Ѥ��ƥۥ���̾���褹��Ȥ���
+���饤����Ȥ����Ѥ��٤��ɥᥤ��̾����ꤷ�ޤ���
.RE
.PP
.B option \fBdomain-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-domain-name-servers ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê
-¥É¥á¥¤¥ó¥Í¡¼¥à¥·¥¹¥Æ¥à (STD 13, RFC 1035) ¤Î¥Í¡¼¥à¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+domain-name-servers ���ץ����ϡ����饤����Ȥ����Ѳ�ǽ��
+�ɥᥤ��͡��ॷ���ƥ� (STD 13, RFC 1035) �Υ͡��ॵ���ФΥꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBextensions-path\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢Äɲ媥ץ·¥ç¥ó¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤Î¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤ÎÄɲ媥ץ·¥ç¥ó¤Ï¡¢RFC2132 ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë DHCP ¥ª¥×¥·¥ç¥ó¤Î½ñ¼°¤Ë±è¤Ã¤Æ
-²ò¼á¤µ¤ì¤Þ¤¹¡£
+�ܥ��ץ����ϡ��ɲå��ץ�����ޤ�ե�����Υե�����̾����ꤷ�ޤ���
+�����ɲå��ץ����ϡ�RFC2132 �ǵ��ꤵ��Ƥ��� DHCP ���ץ����ν˱�ä�
+��ᤵ��ޤ���
.RE
.PP
.B option \fBfinger-server\fR \fIip-address\fR [\fB,\fR
\fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-Finger ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê Finger ¤Î¥ê¥¹¥È¤ò
-»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+Finger �����Х��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� Finger �Υꥹ�Ȥ�
+���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBfont-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê X Window System ¥Õ¥©¥ó¥È¥µ¡¼¥Ð¤ò
-»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� X Window System �ե���ȥ����Ф�
+���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBhost-name\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤Î̾Á°¤Ï¡¢¥í¡¼¥«¥ë¥É¥á¥¤¥ó̾¤Ë½¤¾þ¤µ¤ì¤Æ¤¤¤Æ¤â¡¢¤¤¤Ê¤¯¤Æ¤â¤«¤Þ¤¤¤»¤ó
-(¥É¥á¥¤¥ó̾¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢domain-name ¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤò¤ª´«¤á¤·¤Þ¤¹)¡£
-ʸ»ú½¸¹ç¤ÎÀ©Ìó¤Ë¤Ä¤¤¤Æ¤Ï RFC 1035 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-¥¯¥é¥¤¥¢¥ó¥È¥Þ¥·¥ó¤Î¥Û¥¹¥È̾¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç (¤¹¤Ê¤ï¤Á
+�ܥ��ץ����ϡ����饤����Ȥ�̾������ꤷ�ޤ���
+����̾���ϡ���������ɥᥤ��̾�˽�������Ƥ��Ƥ⡢���ʤ��Ƥ⤫�ޤ�����
+(�ɥᥤ��̾����ꤹ��ˤϡ�domain-name ���ץ����λ��Ѥ��ᤷ�ޤ�)��
+ʸ�����������ˤĤ��Ƥ� RFC 1035 �Ȥ��Ƥ���������
+���饤����ȥޥ���Υۥ���̾�����ꤵ��Ƥ��ʤ���� (���ʤ��
.B rc.conf(5)
-¤Ç¶õʸ»úÎó¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç) ¤Î¤ß¡¢
+�Ƕ�ʸ��������ꤵ��Ƥ�����) �Τߡ�
.B dhclient-script(8)
-¤¬ËÜ¥ª¥×¥·¥ç¥ó¤òº½Å¤·¤Þ¤¹¡£
+���ܥ��ץ�����º�Ť��ޤ���
.RE
.PP
.B option \fBieee802-3-encapsulation\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¥¤¡¼¥µ¥Í¥Ã¥È¤Ç¤¢¤ë¾ì¹ç¤Ë¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬¥¤¡¼¥µ¥Í¥Ã¥È¥Ð¡¼¥¸¥ç¥ó 2 (RFC 894) ¤È
-IEEE 802.3 (RFC 1042) ¤Î¤É¤Á¤é¤Î¥«¥×¥»¥ë²½¤ò»ÈÍѤ¹¤Ù¤¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ false ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ RFC 894 ¤Î¥«¥×¥»¥ë²½¤ò»ÈÍѤ¹¤Ù¤¤Ç¤¢¤ë¤³¤È¤ò
-°ÕÌ£¤·¤Þ¤¹¡£
-ÃÍ true ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ RFC 1042 ¤Î¥«¥×¥»¥ë²½¤ò»ÈÍѤ¹¤Ù¤¤Ç¤¢¤ë¤³¤È¤ò
-°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ����ե��������������ͥåȤǤ�����ˡ�
+���饤����Ȥ��������ͥåȥС������ 2 (RFC 894) ��
+IEEE 802.3 (RFC 1042) �Τɤ���Υ��ץ��벽����Ѥ��٤�������ꤷ�ޤ���
+�� false �ϡ����饤����Ȥ� RFC 894 �Υ��ץ��벽����Ѥ��٤��Ǥ��뤳�Ȥ�
+��̣���ޤ���
+�� true �ϡ����饤����Ȥ� RFC 1042 �Υ��ץ��벽����Ѥ��٤��Ǥ��뤳�Ȥ�
+��̣���ޤ���
.RE
.PP
.B option \fBien116-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
];
.RS 0.25i
.PP
-ien116-name-servers ¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê IEN 116 ¥Í¡¼¥à¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+ien116-name-servers ���ץ����ϡ�
+���饤����Ȥ����Ѳ�ǽ�� IEN 116 �͡��ॵ���ФΥꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBimpress-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-impress-server ¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê Imagen Impress ¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+impress-server ���ץ����ϡ�
+���饤����Ȥ����Ѳ�ǽ�� Imagen Impress �����ФΥꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBinterface-mtu\fR \fIuint16\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÂФ·¤Æ»ÈÍѤ¹¤ë MTU ¤ò»ØÄꤷ¤Þ¤¹¡£
-MTU ¤ËÂФ¹¤ëºÇ¾®¤ÎÀµÅöÃÍ¤Ï 68 ¤Ç¤¹¡£
+�ܥ��ץ����ϡ����Υ��ե��������Ф��ƻ��Ѥ��� MTU ����ꤷ�ޤ���
+MTU ���Ф���Ǿ��������ͤ� 68 �Ǥ���
.RE
.PP
.B option \fBip-forwarding\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢¥Ñ¥±¥Ã¥È¤òžÁ÷¤¹¤ë¤è¤¦¤Ë
-¼«Ê¬¤Î IP ÁؤòÀßÄꤹ¤Ù¤¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ false ¤Ï IP žÁ÷¤ò̵¸ú¤Ë¤¹¤ë¤³¤È¤ò°ÕÌ£¤·¡¢
-ÃÍ true ¤Ï IP žÁ÷¤ò͸ú¤Ë¤¹¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ����ѥ��åȤ�ž������褦��
+��ʬ�� IP �ؤ����ꤹ�٤�������ꤷ�ޤ���
+�� false �� IP ž����̵���ˤ��뤳�Ȥ��̣����
+�� true �� IP ž����ͭ���ˤ��뤳�Ȥ��̣���ޤ���
.RE
.PP
.B option \fBirc-server\fR \fIip-address\fR [\fB,\fR
\fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-IRC ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê IRC ¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+IRC �����Х��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� IRC �Υꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBlog-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-log-server ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê MIT-LCS UDP ¥í¥°¥µ¡¼¥Ð¤Î
-¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+log-server ���ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� MIT-LCS UDP ���������Ф�
+�ꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBlpr-servers\fR \fIip-address \fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-LPR ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê RFC 1179 ¥é¥¤¥ó¥×¥ê¥ó¥¿¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+LPR �����Х��ץ����ϡ�
+���饤����Ȥ����Ѳ�ǽ�� RFC 1179 �饤��ץ�����ФΥꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBmask-supplier\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢ICMP ¤ò»ÈÍѤ·¤¿¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯Í×µá¤ËÂФ·¤Æ¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬±þÅú¤¹¤Ù¤¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ false ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬±þÅú¤¹¤Ù¤¤Ç¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-ÃÍ true ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬±þÅú¤¹¤Ù¤¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ�ICMP ����Ѥ������֥ͥåȥޥ�������Ф��ơ�
+���饤����Ȥ��������٤�������ꤷ�ޤ���
+�� false �ϡ����饤����Ȥ��������٤��Ǥʤ����Ȥ��̣���ޤ���
+�� true �ϡ����饤����Ȥ��������٤��Ǥ��뤳�Ȥ��̣���ޤ���
.RE
.PP
.B option \fBmax-dgram-reassembly\fR \fIuint16\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ºÆÁȤßΩ¤Æ¤Î½àÈ÷¤ò¤¹¤Ù¤
-ºÇÂç¥Ç¡¼¥¿¥°¥é¥à¥µ¥¤¥º¤ò»ØÄꤷ¤Þ¤¹¡£
-ºÇ¾®¤ÎÀµÅöÃÍ¤Ï 576 ¤Ç¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ȥ�Ω�Ƥν����٤�
+����ǡ�������ॵ��������ꤷ�ޤ���
+�Ǿ��������ͤ� 576 �Ǥ���
.\" The minimum value legal value is 576.
-.\" The minimum legal value is 576. ¤«¤Ê (horikawa@jp.freebsd.org 19990404)
+.\" The minimum legal value is 576. ���� (horikawa@jp.freebsd.org 19990404)
.RE
.PP
.B option \fBmerit-dump\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥¯¥é¥Ã¥·¥å¤¹¤ë¤È¤¤Î
-¥¯¥é¥¤¥¢¥ó¥È¤Î¥³¥¢¥¤¥á¡¼¥¸¤¬¥À¥ó¥×¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£
-¥Ñ¥¹¤Î½ñ¼°¤Ï¡¢NVT ASCII ʸ»ú½¸¹ç¤Îʸ»ú¤«¤é¤Ê¤ëʸ»úÎó¤Ç¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ�����å��夹��Ȥ���
+���饤����ȤΥ��������������פ����ե�����Υѥ�̾����ꤷ�ޤ���
+�ѥ��νϡ�NVT ASCII ʸ�������ʸ������ʤ�ʸ����Ǥ���
.RE
.PP
.B option \fBmobile-ip-home-agent\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê¥â¥Ð¥¤¥ë IP ¥Û¡¼¥à¥¨¡¼¥¸¥§¥ó¥È¤Î
-IP ¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥¨¡¼¥¸¥§¥ó¥È¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤¿¤À¤·¡¢Ä̾泌¡¼¥¸¥§¥ó¥È¤Ï 1 ¤Ä¤Ç¤·¤ç¤¦¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�ʥ�Х��� IP �ۡ��२��������Ȥ�
+IP ���ɥ쥹�Υꥹ�Ȥ���ꤷ�ޤ���
+����������Ȥϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
+���������̾泌��������Ȥ� 1 �ĤǤ��礦��
.RE
.PP
.B option \fBnds-context\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-nds-context ¥ª¥×¥·¥ç¥ó¤Ï¡¢NDS ¥¯¥é¥¤¥¢¥ó¥È¤Î¤¿¤á¤ÎºÇ½é¤Î
-NetWare ¥Ç¥£¥ì¥¯¥È¥ê¥µ¡¼¥Ó¥¹¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
+nds-context ���ץ����ϡ�NDS ���饤����ȤΤ���κǽ��
+NetWare �ǥ��쥯�ȥꥵ���ӥ���̾������ꤷ�ޤ���
.RE
.PP
.B option \fBnds-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
.\" metal
-nds-servers ¥ª¥×¥·¥ç¥ó¤Ï¡¢NDS ¥µ¡¼¥Ð¤Î IP ¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
+nds-servers ���ץ����ϡ�NDS �����Ф� IP ���ɥ쥹�Υꥹ�Ȥ���ꤷ�ޤ���
.RE
.PP
.B option \fBnds-tree-name\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-nds-tree-name ¥ª¥×¥·¥ç¥ó¤Ï¡¢NDS ¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍѤ¹¤Ù¤ NDS ¥Ä¥ê¡¼¤Î
-̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
+nds-tree-name ���ץ����ϡ�NDS ���饤����Ȥ����Ѥ��٤� NDS �ĥ��
+̾������ꤷ�ޤ���
.RE
.PP
.B option \fBnetbios-dd-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-NetBIOS ¥Ç¡¼¥¿¥°¥é¥àÇÛÉÛ¥µ¡¼¥Ð (NBDD) ¥ª¥×¥·¥ç¥ó¤Ï¡¢
-RFC 1001/1002 ¤Î NBDD ¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë»ØÄꤷ¤Þ¤¹¡£
+NetBIOS �ǡ�����������ۥ����� (NBDD) ���ץ����ϡ�
+RFC 1001/1002 �� NBDD �����ФΥꥹ�Ȥ�ͥ�褵����Τ����˻��ꤷ�ޤ���
.RE
.PP
.B option \fBnetbios-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...]\fB;\fR
.RS 0.25i
.PP
-NetBIOS ¥Í¡¼¥à¥µ¡¼¥Ð (NBNS) ¥ª¥×¥·¥ç¥ó¤Ï¡¢ RFC 1001/1002 ¤Î
-NBNS ¥Í¡¼¥à¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë»ØÄꤷ¤Þ¤¹¡£
-¸½ºß¤Ç¤Ï¡¢NetBIOS ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¤Ï WINS ¤È¸Æ¤Ð¤ì¤ë¤³¤È¤ÎÊý¤¬Â¿¤¤¤Ç¤¹¡£
-netbios-name-servers ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¢WINS ¥µ¡¼¥Ð¤ò»ØÄê²Äǽ¤Ç¤¹¡£
+NetBIOS �͡��ॵ���� (NBNS) ���ץ����ϡ� RFC 1001/1002 ��
+NBNS �͡��ॵ���ФΥꥹ�Ȥ�ͥ�褵����Τ����˻��ꤷ�ޤ���
+���ߤǤϡ�NetBIOS �͡��ॵ���ӥ��� WINS �ȸƤФ�뤳�Ȥ�����¿���Ǥ���
+netbios-name-servers ���ץ�������Ѥ��ơ�WINS �����Ф�����ǽ�Ǥ���
.RE
.PP
.B option \fBnetbios-node-type\fR \fIuint8\fR\fB;\fR
.RS 0.25i
.PP
-NetBIOS ¥Î¡¼¥É¥¿¥¤¥×¥ª¥×¥·¥ç¥ó¤Ï¡¢
-ÀßÄê²Äǽ¤Ê NetBIOS over TCP/IP ¥¯¥é¥¤¥¢¥ó¥È¤ò¡¢
-RFC 1001/1002 ¤Ëµ½Ò¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£
-ÃͤÏñ°ì¤Î¥ª¥¯¥Æ¥Ã¥È¤È¤·¤Æ»ØÄꤵ¤ì¡¢¥¯¥é¥¤¥¢¥ó¥È¥¿¥¤¥×¤ò°ÕÌ£¤·¤Þ¤¹¡£
+NetBIOS �Ρ��ɥ����ץ��ץ����ϡ�
+�����ǽ�� NetBIOS over TCP/IP ���饤����Ȥ�
+RFC 1001/1002 �˵��Ҥ���Ƥ���褦�����ꤷ�ޤ���
+�ͤ�ñ��Υ����ƥåȤȤ��ƻ��ꤵ�졢���饤����ȥ����פ��̣���ޤ���
.PP
-»ÈÍѲÄǽ¤Ê¥Î¡¼¥É¥¿¥¤¥×¤Ï¼¡¤ÎÄ̤ê¤Ç¤¹:
+���Ѳ�ǽ�ʥΡ��ɥ����פϼ����̤�Ǥ�:
.PP
.TP 5
.I 1
-B ¥Î¡¼¥É: ¥Ö¥í¡¼¥É¥¥ã¥¹¥È - WINS ̵¤·
+B �Ρ���: �֥����ɥ��㥹�� - WINS ̵��
.TP
.I 2
-P ¥Î¡¼¥É: ¥Ô¥¢ - WINS ¤Î¤ß
+P �Ρ���: �ԥ� - WINS �Τ�
.TP
.I 4
-M ¥Î¡¼¥É: ¥ß¥Ã¥¯¥¹ - ¥Ö¥í¡¼¥É¥¥ã¥¹¥È¸å¤Ë WINS
+M �Ρ���: �ߥå��� - �֥����ɥ��㥹�ȸ�� WINS
.TP
.I 8
-H ¥Î¡¼¥É: ¥Ï¥¤¥Ö¥ê¥Ã¥É - WINS ¸å¤Ë¥Ö¥í¡¼¥É¥¥ã¥¹¥È
+H �Ρ���: �ϥ��֥�å� - WINS ��˥֥����ɥ��㥹��
.RE
.PP
.B option \fBnetbios-scope\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
-NetBIOS ¥¹¥³¡¼¥×¥ª¥×¥·¥ç¥ó¤Ï¡¢RFC 1001/1002 ¤Ëµ¬Äꤵ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Î NetBIOS over TCP/IP ¥¹¥³¡¼¥×¥Ñ¥é¥á¡¼¥¿¤ò»ØÄꤷ¤Þ¤¹¡£
-ʸ»ú½¸¹ç¤ÎÀ©Ìó¤Ë¤Ä¤¤¤Æ¤Ï RFC1001, RFC1002, RFC1035 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+NetBIOS �������ץ��ץ����ϡ�RFC 1001/1002 �˵��ꤵ��Ƥ���褦�ˡ�
+���饤����Ȥ� NetBIOS over TCP/IP �������ץѥ�������ꤷ�ޤ���
+ʸ�����������ˤĤ��Ƥ� RFC1001, RFC1002, RFC1035 �Ȥ��Ƥ���������
.RE
.PP
.B option \fBnis-domain\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î NIS (Sun Network Information Services)
-¥É¥á¥¤¥ó¤ò»ØÄꤷ¤Þ¤¹¡£
-¥É¥á¥¤¥ó¤Î½ñ¼°¤Ï¡¢NVT ASCII ʸ»ú½¸¹ç¤Îʸ»ú¤«¤é¤Ê¤ëʸ»úÎó¤Ç¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ� NIS (Sun Network Information Services)
+�ɥᥤ�����ꤷ�ޤ���
+�ɥᥤ��νϡ�NVT ASCII ʸ�������ʸ������ʤ�ʸ����Ǥ���
.RE
.PP
.B option \fBnis-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê NIS ¥µ¡¼¥Ð¤ò¼¨¤¹ IP ¥¢¥É¥ì¥¹¤Î
-¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� NIS �����Ф� IP ���ɥ쥹��
+�ꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBnisplus-domain\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î NIS+ ¥É¥á¥¤¥ó¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£
-¥É¥á¥¤¥ó¤Î½ñ¼°¤Ï¡¢NVT ASCII ʸ»ú½¸¹ç¤Îʸ»ú¤«¤é¤Ê¤ëʸ»úÎó¤Ç¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ� NIS+ �ɥᥤ���̾������ꤷ�ޤ���
+�ɥᥤ��νϡ�NVT ASCII ʸ�������ʸ������ʤ�ʸ����Ǥ���
.RE
.PP
.B option \fBnisplus-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê NIS+ ¥µ¡¼¥Ð¤ò¼¨¤¹ IP ¥¢¥É¥ì¥¹¤Î
-¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� NIS+ �����Ф� IP ���ɥ쥹��
+�ꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBnntp-server\fR \fIip-address\fR [\fB,\fR
\fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-NNTP ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê NNTP ¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+NNTP �����Х��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� NNTP �Υꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBnon-local-source-routing\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢Èó¥í¡¼¥«¥ë¤Ê»ØÄê·ÐÏ© (non-local source route) ¤ò»ý¤Ä
-¥Ç¡¼¥¿¥°¥é¥à¤òžÁ÷¤¹¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¼«Ê¬¤Î IP ÁؤòÀßÄꤹ¤Ù¤¤«¤ò
-»ØÄꤷ¤Þ¤¹ (ËܹàÌܤˤĤ¤¤Æ¤Ï [4] ¤Î 3.3.5 Àá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£
-ÃÍ false ¤Ï¤½¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¥°¥é¥à¤ÎžÁ÷¤òµö²Ä¤·¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¡¢
-ÃÍ true ¤ÏžÁ÷µö²Ä¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ����������ʻ����ϩ (non-local source route) �����
+�ǡ���������ž������褦�ˡ����饤����Ȥ���ʬ�� IP �ؤ����ꤹ�٤�����
+���ꤷ�ޤ� (�ܹ��ܤˤĤ��Ƥ� [4] �� 3.3.5 ��Ȥ��Ƥ�������)��
+�� false �Ϥ��Τ褦�ʥǡ���������ž������Ĥ��ʤ����Ȥ��̣����
+�� true ��ž�����Ĥ��̣���ޤ���
.RE
.PP
.B option \fBntp-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê NTP (RFC 1035) ¥µ¡¼¥Ð¤ò¼¨¤¹
-IP ¥¢¥É¥ì¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� NTP (RFC 1035) �����Ф�
+IP ���ɥ쥹����ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBnwip-domain\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-NetWare/IP ¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍѤ¹¤Ù¤ NetWare/IP ¥É¥á¥¤¥ó¤Î̾Á°¤Ç¤¹¡£
+NetWare/IP ���饤����Ȥ����Ѥ��٤� NetWare/IP �ɥᥤ���̾���Ǥ���
.RE
.PP
.B option \fBnwip-suboptions\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-NetWare/IP ¥¯¥é¥¤¥¢¥ó¥ÈÍѤΥµ¥Ö¥ª¥×¥·¥ç¥ó¤Î¥·¡¼¥±¥ó¥¹¤Ç¤¹¡£
-¾Ü¤·¤¯¤Ï RFC2242 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-Ä̾ËÜ¥ª¥×¥·¥ç¥ó¤ÏÆÃÄê¤Î NetWare/IP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ç
-ÀßÄꤵ¤ì¤Þ¤¹¡£
-¤µ¤é¤Ê¤ë¾ðÊó¤Ï¡ÖNetWare/IP ¥µ¥Ö¥ª¥×¥·¥ç¥ó¡×¤Î¾Ï¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+NetWare/IP ���饤������ѤΥ��֥��ץ����Υ������Ǥ���
+�ܤ����� RFC2242 �Ȥ��Ƥ���������
+�̾�ܥ��ץ���������� NetWare/IP ���֥��ץ�������ꤹ�뤳�Ȥ�
+���ꤵ��ޤ���
+����ʤ����ϡ�NetWare/IP ���֥��ץ����פξϤȤ��Ƥ���������
.RE
.PP
.B option \fBpath-mtu-aging-timeout\fR \fIuint32\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢RFC 1191 ¤ÇÄêµÁ¤µ¤ì¤ëµ¡¹½¤Çȯ¸«¤µ¤ì¤¿¥Ñ¥¹ MTU ÃͤÎ
-¥¨¡¼¥¸¥ó¥°¤Ë»ÈÍѤ¹¤ë¥¿¥¤¥à¥¢¥¦¥È (ÉÃñ°Ì) ¤ò»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ�RFC 1191 ���������뵡����ȯ�����줿�ѥ� MTU �ͤ�
+�������˻��Ѥ��륿���ॢ���� (��ñ��) ����ꤷ�ޤ���
.RE
.PP
.B option \fBpath-mtu-plateau-table\fR \fIuint16\fR [\fB,\fR \fIuint16\fR...
]\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢RFC 1191 ¤ÇÄêµÁ¤µ¤ì¤ë¥Ñ¥¹ MTU õº÷ (Path MTU Discovery)
-¼Â»Ü»þ¤Ë»ÈÍѤµ¤ì¤ë MTU ¤Î¥µ¥¤¥º¤Îɽ¤ò»ØÄꤷ¤Þ¤¹¡£
-ɽ¤Î½ñ¼°¤Ï¡¢ºÇ¾®¤«¤é½ç¤ËºÇÂç¤Þ¤Ç¤Î¡¢16 ¥Ó¥Ã¥ÈÉä¹æ̵¤·À°¿ô¤Î¥ê¥¹¥È¤Ç¤¹¡£
-ºÇ¾® MTU ¤Ï 68 ¤è¤ê¾®¤µ¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ�RFC 1191 ����������ѥ� MTU õ�� (Path MTU Discovery)
+�»ܻ��˻��Ѥ���� MTU �Υ�������ɽ����ꤷ�ޤ���
+ɽ�νϡ��Ǿ������˺���ޤǤΡ�16 �ӥå����̵�������Υꥹ�ȤǤ���
+�Ǿ� MTU �� 68 ��꾮�����ƤϤʤ�ޤ���
.RE
.PP
.B option \fBperform-mask-discovery\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ ICMP ¤ò»ÈÍѤ·¤Æ¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯Ãµº÷¤ò
-¼Â»Ü¤¹¤Ù¤¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ false ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥Þ¥¹¥¯Ãµº÷¤ò¼Â»Ü¤¹¤Ù¤¤Ç¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-ÃÍ true ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥Þ¥¹¥¯Ãµº÷¤ò¼Â»Ü¤¹¤Ù¤¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ� ICMP ����Ѥ��ƥ��֥ͥåȥޥ���õ����
+�»ܤ��٤�������ꤷ�ޤ���
+�� false �ϡ����饤����Ȥ��ޥ���õ����»ܤ��٤��Ǥʤ����Ȥ��̣���ޤ���
+�� true �ϡ����饤����Ȥ��ޥ���õ����»ܤ��٤��Ǥ��뤳�Ȥ��̣���ޤ���
.RE
.PP
.nf
.fi
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢Èó¥í¡¼¥«¥ë¤Ê»ØÄê·ÐÏ©À©¸æ¤ËÂФ¹¤ë¥Ý¥ê¥·¥Õ¥£¥ë¥¿¤ò»ØÄꤷ¤Þ¤¹¡£
-¥Õ¥£¥ë¥¿¤Ï¡¢IP ¥¢¥É¥ì¥¹¤È¥Þ¥¹¥¯¤ÎÁȤΥꥹ¥È¤«¤é¤ʤꡢ
-ÅþÃ夹¤ë»ØÄê·ÐÏ©À©¸æ¤µ¤ì¤¿¥Ç¡¼¥¿¥°¥é¥àÍѤΥե£¥ë¥¿¤È¤Ê¤ë
-°¸Àè/¥Þ¥¹¥¯¤ÎÁȤò»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ����������ʻ����ϩ������Ф���ݥꥷ�ե��륿����ꤷ�ޤ���
+�ե��륿�ϡ�IP ���ɥ쥹�ȥޥ������ȤΥꥹ�Ȥ���ʤꡢ
+���夹������ϩ���椵�줿�ǡ���������ѤΥե��륿�Ȥʤ�
+����/�ޥ������Ȥ���ꤷ�ޤ���
.PP
-¼¡¥Û¥Ã¥×¥¢¥É¥ì¥¹¤¬¥Õ¥£¥ë¥¿¤Î¤¤¤º¤ì¤Ë¤âŬ¹ç¤·¤Ê¤¤»ØÄê·ÐÏ©À©¸æ¤µ¤줿
-¥Ç¡¼¥¿¥°¥é¥à¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÇË´þ¤¹¤Ù¤¤Ç¤¹¡£
+���ۥåץ��ɥ쥹���ե��륿�Τ�����ˤ�Ŭ�礷�ʤ������ϩ���椵�줿
+�ǡ��������ϡ����饤����Ȥ��˴����٤��Ǥ���
.PP
-¤µ¤é¤Ê¤ë¾ðÊó¤Ï STD 3 (RFC1122) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+����ʤ����� STD 3 (RFC1122) �Ȥ��Ƥ���������
.RE
.PP
.B option \fBpop-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-POP3 ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê POP3 ¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+POP3 �����Х��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� POP3 �Υꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBresource-location-servers\fR \fIip-address\fR
.fi
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê
-RFC 887 ¥ê¥½¡¼¥¹¥í¥±¡¼¥·¥ç¥ó¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ѳ�ǽ��
+RFC 887 �����������������ФΥꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBroot-path\fR \fItext\fB;\fR\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥ë¡¼¥È¥Ç¥£¥¹¥¯¤¬´Þ¤Þ¤ì¤ë¥Ñ¥¹Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£
-¥Ñ¥¹¤Î½ñ¼°¤Ï¡¢NVT ASCII ʸ»ú½¸¹ç¤Îʸ»ú¤«¤é¤Ê¤ëʸ»úÎó¤Ç¤¹¡£
+�ܥ��ץ����ϡ����饤����ȤΥ롼�ȥǥ��������ޤޤ��ѥ�̾����ꤷ�ޤ���
+�ѥ��νϡ�NVT ASCII ʸ�������ʸ������ʤ�ʸ����Ǥ���
.RE
.PP
.B option \fBrouter-discovery\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢RFC 1256 ¤ÇÄêµÁ¤µ¤ì¤ë¥ë¡¼¥¿Ãµº÷ (Router Discovery) µ¡¹½¤ò
-»ÈÍѤ·¤Æ¡¢¥ë¡¼¥¿¤òÍ×ÀÁ¤¹¤Ù¤¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ false ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥ë¡¼¥¿Ãµº÷¤ò¼Â»Ü¤¹¤Ù¤¤Ç¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-ÃÍ true ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥ë¡¼¥¿Ãµº÷¤ò¼Â»Ü¤¹¤Ù¤¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ�RFC 1256 ����������롼��õ�� (Router Discovery) ������
+���Ѥ��ơ��롼�����������٤�������ꤷ�ޤ���
+�� false �ϡ����饤����Ȥ��롼��õ����»ܤ��٤��Ǥʤ����Ȥ��̣���ޤ���
+�� true �ϡ����饤����Ȥϥ롼��õ����»ܤ��٤��Ǥ��뤳�Ȥ��̣���ޤ���
.RE
.PP
.B option \fBrouter-solicitation-address\fR \fIip-address\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥ë¡¼¥¿Í×ÀÁ¤ÎÁ÷½ÐÀ襢¥É¥ì¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����ȤΥ롼�������������襢�ɥ쥹����ꤷ�ޤ���
.RE
.PP
.B option routers \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-routers ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥µ¥Ö¥Í¥Ã¥È¾å¤Ë¤¢¤ë¥ë¡¼¥¿¤Î
-IP ¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥ë¡¼¥¿¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+routers ���ץ����ϡ����饤����ȤΥ��֥ͥåȾ�ˤ���롼����
+IP ���ɥ쥹�Υꥹ�Ȥ���ꤷ�ޤ���
+�롼���ϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option slp-directory-agent \fIboolean ip-address
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢2 ¤Ä¤Î¹àÌܤò»ØÄꤷ¤Þ¤¹:
-1 ¤Ä°Ê¾å¤Î¥µ¡¼¥Ó¥¹¥í¥±¡¼¥·¥ç¥ó¥×¥í¥È¥³¥ë¥Ç¥£¥ì¥¯¥È¥ê¥¨¡¼¥¸¥§¥ó¥È
-(Service Location Protocol Directory Agent) ¤Î IP ¥¢¥É¥ì¥¹¤È¡¢
-¤³¤ì¤é¤Î¥¢¥É¥ì¥¹¤Î»ÈÍѤ¬¶¯À©Åª¤«¤É¤¦¤«¤Ç¤¹¡£
-ºÇ½é¤Î¥Ö¡¼¥ëÃͤ¬ true ¤Ç¤¢¤ì¤Ð¡¢SLP ¥¨¡¼¥¸¥§¥ó¥È¤Ï¡¢¤¿¤ÀÍ¿¤¨¤é¤줿
-IP ¥¢¥É¥ì¥¹¤Î¤ß¤ò»ÈÍѤ¹¤Ù¤¤Ç¤¹¡£
-Ãͤ¬ false ¤Ç¤¢¤ì¤Ð¡¢SLP ¥¨¡¼¥¸¥§¥ó¥È¤Ï¡¢SLP ¥¨¡¼¥¸¥§¥ó¥È¤Î
-ǽưŪ¤â¤·¤¯¤Ï¼õưŪ¤Ê¥Þ¥ë¥Á¥¥ã¥¹¥Èõº÷¤òÄɲäǹԤäƤ⹽¤¤¤Þ¤»¤ó
-(¾Ü¤·¤¯¤Ï RFC2165 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£
-.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤È slp-service-scope ¥ª¥×¥·¥ç¥ó¤Ë¤ª¤¤¤Æ¡¢
-¡ÖSLP ¥¨¡¼¥¸¥§¥ó¥È¡×¤È¤Ï¡¢DHCP ¥×¥í¥È¥³¥ë¤òÍѤ¤¤ÆÀßÄꤵ¤ì¤¿¥Þ¥·¥ó¾å¤Ç
-ưºî¤·¤Æ¤¤¤ë¥µ¡¼¥Ó¥¹¥í¥±¡¼¥·¥ç¥ó¥×¥í¥È¥³¥ë¥¨¡¼¥¸¥§¥ó¥È¤ò»Ø¤·¤Æ¤¤¤ë¤³¤È¤Ë
-Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-.PP
-¤Þ¤¿¡¢¤¤¤¯¤Ä¤«¤Î´ë¶È¤Ï SLP ¤ò NDS ¤È¸Æ¤ó¤Ç¤¤¤ë¤³¤È¤âµ¤¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£
-¤â¤· NDS ¥Ç¥£¥ì¥¯¥È¥ê¥¨¡¼¥¸¥§¥ó¥È¤¬¤¢¤ê¡¢¤½¤Î¥¢¥É¥ì¥¹¤òÀßÄꤹ¤ëɬÍפ¬
-¤¢¤ë¾ì¹ç¤Ï¡¢ slp-directory-agent ¥ª¥×¥·¥ç¥ó¤¬ÍøÍѤǤ¤ë¤Ï¤º¤Ç¤¹¡£
+�ܥ��ץ����ϡ�2 �Ĥι��ܤ���ꤷ�ޤ�:
+1 �İʾ�Υ����ӥ������������ץ��ȥ���ǥ��쥯�ȥꥨ���������
+(Service Location Protocol Directory Agent) �� IP ���ɥ쥹�ȡ�
+�����Υ��ɥ쥹�λ��Ѥ�����Ū���ɤ����Ǥ���
+�ǽ�Υ֡����ͤ� true �Ǥ���С�SLP ����������Ȥϡ�����Ϳ����줿
+IP ���ɥ쥹�Τߤ���Ѥ��٤��Ǥ���
+�ͤ� false �Ǥ���С�SLP ����������Ȥϡ�SLP ����������Ȥ�
+ǽưŪ�⤷���ϼ�ưŪ�ʥޥ�����㥹��õ�����ɲäǹԤäƤ���ޤ���
+(�ܤ����� RFC2165 �Ȥ��Ƥ�������)��
+.PP
+�ܥ��ץ����� slp-service-scope ���ץ����ˤ����ơ�
+��SLP ����������ȡפȤϡ�DHCP �ץ��ȥ�����Ѥ������ꤵ�줿�ޥ�����
+ư��Ƥ��륵���ӥ������������ץ��ȥ��륨��������Ȥ�ؤ��Ƥ��뤳�Ȥ�
+���դ��Ƥ���������
+.PP
+�ޤ��������Ĥ��δ�Ȥ� SLP �� NDS �ȸƤ�Ǥ��뤳�Ȥⵤ���դ��Ƥ���������
+�⤷ NDS �ǥ��쥯�ȥꥨ��������Ȥ����ꡢ���Υ��ɥ쥹�����ꤹ��ɬ�פ�
+������ϡ� slp-directory-agent ���ץ�������ѤǤ���Ϥ��Ǥ���
.RE
.PP
.B option slp-service-scope \fIboolean text\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-¥µ¡¼¥Ó¥¹¥í¥±¡¼¥·¥ç¥ó¥×¥í¥È¥³¥ë¤Î¥µ¡¼¥Ó¥¹¥¹¥³¡¼¥×¥ª¥×¥·¥ç¥ó¤Ï¡¢
-2 ¤Ä¤Î¹àÌܤò»ØÄꤷ¤Þ¤¹:
-SLP ÍѤΥµ¡¼¥Ó¥¹¥¹¥³¡¼¥×¤Î¥ê¥¹¥È¤È¡¢¤³¤Î¥ê¥¹¥È¤Î»ÈÍѤ¬¶¯À©Åª¤«¤É¤¦¤«¤Ç¤¹¡£
-ºÇ½é¤Î¥Ö¡¼¥ëÃͤ¬ true ¤Ç¤¢¤ì¤Ð¡¢SLP ¥¨¡¼¥¸¥§¥ó¥È¤Ï¡¢ËÜ¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê
-Ä󶡤µ¤ì¤ë¥¹¥³¡¼¥×¤Î¥ê¥¹¥È¤Î¤ß¤ò»ÈÍѤ¹¤Ù¤¤Ç¤¹¡£
-¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ÇÄ󶡤µ¤ì¤ë¥ê¥¹¥È¤ËÍ¥À褷¤Æ¡¢
-¤½¤ì¤¾¤ì¤Î¸ÇÍŪ¤ÎÀßÄê¤ò»È¤Ã¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£
+�����ӥ������������ץ��ȥ���Υ����ӥ��������ץ��ץ����ϡ�
+2 �Ĥι��ܤ���ꤷ�ޤ�:
+SLP �ѤΥ����ӥ��������פΥꥹ�Ȥȡ����Υꥹ�Ȥλ��Ѥ�����Ū���ɤ����Ǥ���
+�ǽ�Υ֡����ͤ� true �Ǥ���С�SLP ����������Ȥϡ��ܥ��ץ����ˤ��
+����륹�����פΥꥹ�ȤΤߤ���Ѥ��٤��Ǥ���
+�����Ǥʤ���С����Υ��ץ����������ꥹ�Ȥ�ͥ�褷�ơ�
+���줾��θ�ͭŪ�������ȤäƤ���ޤ���
.PP
-text ʸ»úÎó¤Ï¡¢SLP ¥¨¡¼¥¸¥§¥ó¥È¤¬»ÈÍѤ¹¤Ù¤¥¹¥³¡¼¥×¤Î¡¢¥³¥ó¥Þ¶èÀÚ¤ê¤Î
-¥ê¥¹¥È¤È¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤ì¤Ï¾Êά²Äǽ¤Ç¡¢¤½¤Î¾ì¹ç SLP ¥¨¡¼¥¸¥§¥ó¥È¤Ï¡¢¼«Ê¬¤¬ÃΤäƤ¤¤ë
-¤¹¤Ù¤Æ¤Î¥Ç¥£¥ì¥¯¥È¥ê¥¨¡¼¥¸¥§¥ó¥È¤Î¥¹¥³¡¼¥×¤Î°ì³ç¥ê¥¹¥È¤ò»È¤¤¤Þ¤¹¡£
+text ʸ����ϡ�SLP ����������Ȥ����Ѥ��٤��������פΡ�������ڤ��
+�ꥹ�ȤȤ��Ƥ���������
+����Ͼ�ά��ǽ�ǡ����ξ�� SLP ����������Ȥϡ���ʬ���ΤäƤ���
+���٤ƤΥǥ��쥯�ȥꥨ��������ȤΥ������פΰ��ꥹ�Ȥ�Ȥ��ޤ���
.RE
.PP
.B option \fBsmtp-server\fR \fIip-address\fR [\fB,\fR
\fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-SMTP ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê SMTP ¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò
-»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+SMTP �����Х��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� SMTP �����ФΥꥹ�Ȥ�
+���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.nf
.fi
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬·ÐÏ©¥¥ã¥Ã¥·¥å¤ËÁȤ߹þ¤à¤Ù¤
-ÀÅŪ·ÐÏ©¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-Ʊ¤¸°¸Àè¤ËÂФ·¤ÆÊ£¿ô¤Î·ÐÏ©¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
-ͥÀèÅÙ¤¬Ä㤯¤Ê¤ë½ç½ø¤Ç¥ê¥¹¥È¤µ¤ì¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ���ϩ����å�����Ȥ߹���٤�
+��Ū��ϩ�Υꥹ�Ȥ���ꤷ�ޤ���
+Ʊ��������Ф���ʣ���η�ϩ�����ꤵ��Ƥ�����ϡ�
+ͥ���٤��㤯�ʤ����ǥꥹ�Ȥ���ޤ���
.PP
-·ÐÏ©¤Ï IP ¥¢¥É¥ì¥¹¤ÎÁȤΥꥹ¥È¤«¤é¤Ê¤ê¤Þ¤¹¡£
-ºÇ½é¤Î¥¢¥É¥ì¥¹¤Ï°¸À襢¥É¥ì¥¹¤Ç¤¢¤ꡢ
-2 ÈÖÌܤΥ¢¥É¥ì¥¹¤Ï¤½¤Î°¸Àè¤ËÂФ¹¤ë¥ë¡¼¥¿¤Î¥¢¥É¥ì¥¹¤Ç¤¹¡£
+��ϩ�� IP ���ɥ쥹���ȤΥꥹ�Ȥ���ʤ�ޤ���
+�ǽ�Υ��ɥ쥹�ϰ��襢�ɥ쥹�Ǥ��ꡢ
+2 ���ܤΥ��ɥ쥹�Ϥ��ΰ�����Ф���롼���Υ��ɥ쥹�Ǥ���
.PP
-¥Ç¥Õ¥©¥ë¥È·ÐÏ© (0.0.0.0) ¤Ï¡¢ÀÅŪ·ÐÏ©¤ËÂФ·¤Æ¤ÏÉÔÀµ¤Ê°¸Àè¤Ç¤¹¡£
-¥Ç¥Õ¥©¥ë¥È·ÐÏ©¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢
+�ǥե���ȷ�ϩ (0.0.0.0) �ϡ���Ū��ϩ���Ф��Ƥ������ʰ���Ǥ���
+�ǥե���ȷ�ϩ����ꤹ��ˤϡ�
.B routers
-¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
-¤Þ¤¿¡¢ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¹¥ì¥¹¤Ê IP ·ÐÏ©À©¸æ¤ò°Õ¿Þ¤·¤¿¤â¤Î¤Ç¤Ï
-¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤¡£
-¤³¤ì¤Ï¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó¡£
-¸½ºß¡¢¥¯¥é¥¹¥ì¥¹¤Ê IP ·ÐÏ©À©¸æ¤Ï¡¢¤â¤Ã¤È¤â¹¤¯Å¸³«¤µ¤ì¤Æ¤¤¤ë
-·ÐÏ©À©¸æɸ½à¤Ê¤Î¤Ç¡¢ËÜ¥ª¥×¥·¥ç¥ó¤Ï¼Â¼ÁŪ¤Ë̵°ÕÌ£¤Ç¤¹¡£
-¤½¤·¤Æ¡¢¥Þ¥¤¥¯¥í¥½¥Õ¥È DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ò¤Ï¤¸¤á¤È¤¹¤ë¤è¤¯ÃΤé¤줿
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
+���ץ�������Ѥ��Ƥ���������
+�ޤ����ܥ��ץ����ϡ����饹�쥹�� IP ��ϩ�����տޤ�����ΤǤ�
+�ʤ����Ȥ����դ��Ʋ�������
+����ϥ��֥ͥåȥޥ�����ޤ�Ǥ��ޤ���
+���ߡ����饹�쥹�� IP ��ϩ����ϡ���äȤ��Ÿ������Ƥ���
+��ϩ����ɸ��ʤΤǡ��ܥ��ץ����ϼ¼�Ū��̵��̣�Ǥ���
+�����ơ��ޥ��������ե� DHCP ���饤����Ȥ�Ϥ���Ȥ���褯�Τ�줿
+DHCP ���饤����Ȥˤϼ�������Ƥ��ޤ���
.RE
.PP
.nf
.fi
.RS 0.25i
.PP
-StreetTalk Directory Assistance (STDA) ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê STDA ¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+StreetTalk Directory Assistance (STDA) �����Х��ץ����ϡ�
+���饤����Ȥ����Ѳ�ǽ�� STDA �Υꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBstreettalk-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-StreetTalk ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê StreetTalk ¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+StreetTalk �����Х��ץ����ϡ�
+���饤����Ȥ����Ѳ�ǽ�� StreetTalk �Υꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option subnet-mask \fIip-address\fR\fB;\fR
.RS 0.25i
.PP
-¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¥ª¥×¥·¥ç¥ó¤Ï¡¢RFC 950 ¤Ë½¾¤Ã¤Æ¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Î¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¤ò»ØÄꤷ¤Þ¤¹¡£
-¥¹¥³¡¼¥×Ãæ¤Î¤É¤³¤Ë¤â¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹硢
-ºÇ½ª¼êÃʤȤ·¤Æ¡¢dhcpd ¤Ï¡¢¥¢¥É¥ì¥¹¤ò³ä¤êÅö¤Æ¤è¤¦¤È¤·¤Æ¤¤¤ë
-¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥µ¥Ö¥Í¥Ã¥ÈÀë¸À¤«¤é¡¢¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤·¤«¤·¡¢¥¢¥É¥ì¥¹¤ò³ä¤êÅö¤Æ¤è¤¦¤È¤·¤Æ¤¤¤ë¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥¹¥³¡¼¥×Ãæ¤Î
-.I ¤É¤Î¤è¤¦¤Ê
-¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¥ª¥×¥·¥ç¥óÀë¸À¤Ç¤¢¤äƤ⡢
-¥µ¥Ö¥Í¥Ã¥ÈÀë¸À¤Ç»ØÄꤵ¤ì¤¿¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¤ËÍ¥À褷¤Þ¤¹¡£
+���֥ͥåȥޥ������ץ����ϡ�RFC 950 �˽��äơ�
+���饤����ȤΥ��֥ͥåȥޥ�������ꤷ�ޤ���
+����������Τɤ��ˤ⥵�֥ͥåȥޥ������ץ�����ꤵ��Ƥ��ʤ���硢
+�ǽ����ʤȤ��ơ�dhcpd �ϡ����ɥ쥹�������Ƥ褦�Ȥ��Ƥ���
+�ͥåȥ���Υ��֥ͥå�������顢���֥ͥåȥޥ�������Ѥ��ޤ���
+�����������ɥ쥹�������Ƥ褦�Ȥ��Ƥ���ͥåȥ���Υ����������
+.I �ɤΤ褦��
+���֥ͥåȥޥ������ץ��������Ǥ��äƤ⡢
+���֥ͥå�����ǻ��ꤵ�줿���֥ͥåȥޥ�����ͥ�褷�ޤ���
.RE
.PP
.B option \fBsubnet-selection\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-(Í׵᤬½Ð¤µ¤ì¤¿¥µ¥Ö¥Í¥Ã¥È¤Ë¤Ä¤Ê¤¬¤ì¤¿¥ê¥ì¡¼¥µ¡¼¥Ð¤Î¥¢¥É¥ì¥¹¤Ë´ð¤Å¤¤¤Æ)
-Ä̾ïÁªÂò¤µ¤ì¤ë¤Ç¤¢¤í¤¦¤â¤Î¤Ç¤Ï¤Ê¤¤¥µ¥Ö¥Í¥Ã¥È¤Î¥¢¥É¥ì¥¹¤¬É¬Íפʾì¹硢
-¥¯¥é¥¤¥¢¥ó¥È¤¬Á÷½Ð¤·¤Þ¤¹¡£
-RFC3011 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤Î¥µ¡¼¥Ð¤Ë¤ª¤¤¤Æ»È¤ï¤ì¤ë¥ª¥×¥·¥ç¥ó¥Ê¥ó¥Ð¤Ï 118 ¤Ç¤¹¡£
-¤³¤Î¥Ê¥ó¥Ð¤Ï°ÊÁ°¤«¤é¤º¤Ã¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤¿¥Ê¥ó¥Ð¤Ç¤Ï¤Ê¤¯¡¢
-°ã¤¦Ãͤò»ÈÍѤ¹¤ë¥¯¥é¥¤¥¢¥ó¥È¤â¸ºß¤¹¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤϾ¯¡¹¼Â¸³Åª¤Ç¤¢¤ë¤È¹Í¤¨¤ë¤Ù¤¤Ç¤·¤礦!
+(��Ф��줿���֥ͥåȤˤĤʤ��줿��졼�����ФΥ��ɥ쥹�˴�Ť���)
+�̾������Ǥ�������ΤǤϤʤ����֥ͥåȤΥ��ɥ쥹��ɬ�פʾ�硢
+���饤����Ȥ����Ф��ޤ���
+RFC3011 �Ȥ��Ƥ���������
+���Υ����Фˤ����ƻȤ��륪�ץ����ʥ�Ф� 118 �Ǥ���
+���Υʥ�Фϰ������餺�ä��������Ƥ����ʥ�ФǤϤʤ���
+�㤦�ͤ���Ѥ��륯�饤����Ȥ�¸�ߤ��뤳�Ȥ����դ��Ƥ���������
+���Υ��ץ����λ��ѤϾ����¸�Ū�Ǥ���ȹͤ���٤��Ǥ��礦!
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥µ¡¼¥Ð¤Ç¤Ï¥æ¡¼¥¶¤¬ÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
+�ܥ��ץ����ϡ������ФǤϥ桼�������ꤹ�뤳�ȤϤǤ��ޤ���
.PP
.RE
.PP
.B option \fBswap-server\fR \fIip-address\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥¹¥ï¥Ã¥×¥µ¡¼¥Ð¤Î IP ¥¢¥É¥ì¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����ȤΥ���åץ����Ф� IP ���ɥ쥹����ꤷ�ޤ���
.RE
.PP
.B option \fBtcp-keepalive-garbage\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¸Å¤¤¼ÂÁõ¤È¤Î¸ß´¹À¤Î¤¿¤á¤Ë¡¢¥´¥ß¤Î¥ª¥¯¥Æ¥Ã¥È¤È°ì½ï¤Ë¡¢
-TCP ¥¡¼¥×¥¢¥é¥¤¥Ö¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬Á÷¤ë¤Ù¤¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ false ¤Ï¡¢¥´¥ß¤Î¥ª¥¯¥Æ¥Ã¥È¤òÁ÷¤ë¤Ù¤¤Ç¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-ÃÍ true ¤Ï¡¢¥´¥ß¤Î¥ª¥¯¥Æ¥Ã¥È¤òÁ÷¤ë¤Ù¤¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ��Ť������Ȥθߴ����Τ���ˡ����ߤΥ����ƥåȤȰ��ˡ�
+TCP �����ץ��饤�֥�å������饤����Ȥ�����٤�������ꤷ�ޤ���
+�� false �ϡ����ߤΥ����ƥåȤ�����٤��Ǥʤ����Ȥ��̣���ޤ���
+�� true �ϡ����ߤΥ����ƥåȤ�����٤��Ǥ��뤳�Ȥ��̣���ޤ���
.RE
.PP
.B option \fBtcp-keepalive-interval\fR \fIuint32\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î TCP ¤¬¥¡¼¥×¥¢¥é¥¤¥Ö (keepalive)
-¥á¥Ã¥»¡¼¥¸¤ò TCP Àܳ¾å¤ËÁ÷¿®¤¹¤ëÁ°¤ËÂԤĤ٤´Ö³Ö (ÉÃñ°Ì) ¤ò»ØÄꤷ¤Þ¤¹¡£
-»þ´Ö¤Ï 32 ¥Ó¥Ã¥ÈÉä¹æ̵¤·À°¿ô¤Ç»ØÄꤷ¤Þ¤¹¡£
-ÃÍ 0 ¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ÌÀ¼¨Åª¤ËÍ׵ᤷ¤Ê¤¤¸Â¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬
-Àܳ¾å¤Ë¥¡¼¥×¥¢¥é¥¤¥Ö¥á¥Ã¥»¡¼¥¸¤òÀ¸À®¤¹¤Ù¤¤Ç¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ����饤����Ȥ� TCP �������ץ��饤�� (keepalive)
+��å������� TCP ��³����������������ԤĤ٤��ֳ� (��ñ��) ����ꤷ�ޤ���
+���֤� 32 �ӥå����̵�������ǻ��ꤷ�ޤ���
+�� 0 �ϡ����ץꥱ�����������Ū���ᤷ�ʤ��¤ꡢ���饤����Ȥ�
+��³��˥����ץ��饤�֥�å��������������٤��Ǥʤ����Ȥ��̣���ޤ���
.RE
.PP
.B option \fBtftp-server-name\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï TFTP ¥µ¡¼¥Ð¤ò»ØÄꤹ¤ë¤Î¤Ë»ÈÍѤµ¤ì¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬
-¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï \fBserver-name\fR Àë¸À¤ÈƱ¤¸¸ú²Ì¤ò»ý¤Á¤Þ¤¹¡£
-BOOTP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢ËÜ¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Ê¤¤¤Ç¤·¤ç¤¦¡£
-DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ꡢ
-¼ÂºÝɬ¿Ü¤È¤·¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
+�ܥ��ץ����� TFTP �����Ф���ꤹ��Τ˻��Ѥ��졢���饤����Ȥ�
+���ݡ��Ȥ��Ƥ�����ˤ� \fBserver-name\fR �����Ʊ�����̤�����ޤ���
+BOOTP ���饤����Ȥϡ��ܥ��ץ����ݡ��Ȥ��ʤ��Ǥ��礦��
+DHCP ���饤����Ȥˤ�äƤϥ��ݡ��Ȥ��Ƥ����Τ����ꡢ
+�º�ɬ�ܤȤ��Ƥ����Τ�����ޤ���
.RE
.PP
.B option time-offset \fIint32\fR\fB;\fR
.RS 0.25i
.PP
-time-offset ¥ª¥×¥·¥ç¥ó¤Ï¡¢¶¨ÄêÀ¤³¦»þ (UTC) ¤ò´ðÅÀ¤È¤·¤Æ¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Î¥µ¥Ö¥Í¥Ã¥È¤Î¥ª¥Õ¥»¥Ã¥È¤òÉäǻØÄꤷ¤Þ¤¹¡£
+time-offset ���ץ����ϡ����������� (UTC) ������Ȥ��ơ�
+���饤����ȤΥ��֥ͥåȤΥ��ե��åȤ��äǻ��ꤷ�ޤ���
.RE
.PP
.B option time-servers \fIip-address\fR [, \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-time-server ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê RFC 868 »þ¹ï¥µ¡¼¥Ð¤Î
-¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+time-server ���ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� RFC 868 ���掠���Ф�
+�ꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBtrailer-encapsulation\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢ARP ¥×¥í¥È¥³¥ë»ÈÍÑ»þ¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥È¥ì¥¤¥é»ÈÍѤÎ
-¥Í¥´¥·¥¨¡¼¥·¥ç¥ó (RFC 893 [14]) ¤ò¤¹¤Ù¤¤«¤ò»ØÄꤷ¤Þ¤¹¡£
-ÃÍ false ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥È¥ì¥¤¥é»ÈÍѤò»î¤ß¤ë¤Ù¤¤Ç¤Ê¤¤¤È°ÕÌ£¤·¤Þ¤¹¡£
-ÃÍ true ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥È¥ì¥¤¥é»ÈÍѤò»î¤ß¤ë¤Ù¤¤Ç¤¢¤ë¤È°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ����ϡ�ARP �ץ��ȥ�����ѻ��ˡ����饤����Ȥ��ȥ쥤����Ѥ�
+�ͥ������������ (RFC 893 [14]) �٤�������ꤷ�ޤ���
+�� false �ϡ����饤����Ȥ��ȥ쥤����Ѥ��ߤ�٤��Ǥʤ��Ȱ�̣���ޤ���
+�� true �ϡ����饤����Ȥ��ȥ쥤����Ѥ��ߤ�٤��Ǥ���Ȱ�̣���ޤ���
.RE
.PP
.B option \fBuap-servers\fR \fItext\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶Ç§¾Ú¥×¥í¥È¥³¥ë (UAP) ¤ËÊñ¤Þ¤ì¤¿Ç§¾ÚÍ×µá¤ò
-½èÍý¤¹¤ëǽÎϤΤ¢¤ë¥æ¡¼¥¶Ç§¾Ú¥µ¡¼¥Ó¥¹¤ò¤½¤ì¤¾¤ì»Ø¤·¤Æ¤¤¤ë
-URL ¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-UAP ¥µ¡¼¥Ð¤Ï HTTP 1.1 Àܳ¤â SSLv3 Àܳ¤â¼õ¤±¼è¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¥ê¥¹¥È¤Ë´Þ¤Þ¤ì¤¿ URL ¤Ë¥Ý¡¼¥ÈÉôʬ¤¬´Þ¤Þ¤ì¤Æ¤Ê¤¤¾ì¹ç¤Ï¡¢
-Ä̾ï¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤¬²¾Äꤵ¤ì¤Þ¤¹
-(¤Ä¤Þ¤ê http ¤Ë¤Ï 80 ÈÖ¡¢https ¤Ë¤Ï 443 ÈÖ)¡£
-¥ê¥¹¥È¤Ë´Þ¤Þ¤ì¤¿ URL ¤Ë¥Ñ¥¹¤ÎÉôʬ¤¬´Þ¤Þ¤ì¤Æ¤Ê¤¤¾ì¹ç¤Ï¡¢
-¥Ñ¥¹¤Ï /uap ¤È²¾Äꤵ¤ì¤Þ¤¹¡£
-2 ¤Ä°Ê¾å¤Î URL ¤¬¤³¤Î¥ê¥¹¥È¤Ë»ØÄꤵ¤ì¤¿¾ì¹ç¡¢URL ¤Ï¶õÇò¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£
+�ܥ��ץ����ϡ��桼��ǧ�ڥץ��ȥ��� (UAP) ����ޤ줿ǧ�����
+��������ǽ�ϤΤ���桼��ǧ�ڥ����ӥ��줾��ؤ��Ƥ���
+URL �Υꥹ�Ȥ���ꤷ�ޤ���
+UAP �����Ф� HTTP 1.1 ��³�� SSLv3 ��³�������뤳�Ȥ��Ǥ��ޤ���
+�ꥹ�Ȥ˴ޤޤ줿 URL �˥ݡ�����ʬ���ޤޤ�Ƥʤ����ϡ�
+�̾�Υǥե���ȥݡ��Ȥ����ꤵ��ޤ�
+(�Ĥޤ� http �ˤ� 80 �֡�https �ˤ� 443 ��)��
+�ꥹ�Ȥ˴ޤޤ줿 URL �˥ѥ�����ʬ���ޤޤ�Ƥʤ����ϡ�
+�ѥ��� /uap �Ȳ��ꤵ��ޤ���
+2 �İʾ�� URL �����Υꥹ�Ȥ˻��ꤵ�줿��硢URL �϶���Ƕ��ڤ��ޤ���
.RE
.PP
.B option \fBuser-class\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤¬¼±Ê̾ðÊó¤ò¥¯¥é¥¤¥¢¥ó¥È¤Ë»ØÄꤹ¤ë¼êÃʤȤ·¤Æ¡¢
-¤¤¤¯¤Ä¤«¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ç»È¤ï¤ì¤Þ¤¹¡£
-¤³¤ì¤Ï vendor-class-identifier ¥ª¥×¥·¥ç¥ó¤ÈƱÍͤ˻Ȥï¤ì¤Þ¤¹¤¬¡¢
-¤½¤ÎÃͤϡ¢¥Ù¥ó¥À¤Ç¤Ï¤Ê¤¯¡¢¥æ¡¼¥¶¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Þ¤¹¡£
-ºÇ¶á¤Î¤Û¤È¤ó¤É¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¤³¤Î¼±Ê̻ҤËÃͤò»ØÄꤹ¤ë¤¿¤á¤Î
-¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÈ÷¤¨¤Æ¤¤¤Þ¤¹¡£
-¤³¤Î¼±Ê̻Ҥϡ¢Ä̾ï¥Æ¥¥¹¥Èʸ»úÎó¤Ç¤¹¡£
+�ܥ��ץ����ϡ��桼�������̾���饤����Ȥ˻��ꤹ����ʤȤ��ơ�
+�����Ĥ��� DHCP ���饤����ȤǻȤ��ޤ���
+����� vendor-class-identifier ���ץ�����Ʊ�ͤ˻Ȥ��ޤ�����
+�����ͤϡ��٥���ǤϤʤ����桼���ˤ�äƻ��ꤵ��ޤ���
+�Ƕ�ΤۤȤ�ɤ� DHCP ���饤����Ȥϡ����μ��̻Ҥ��ͤ���ꤹ�뤿���
+�桼�����ե������������Ƥ��ޤ���
+���μ��̻Ҥϡ��̾�ƥ�����ʸ����Ǥ���
.RE
.PP
.B option \fBvendor-class-identifier\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ù¥ó¥À¥¿¥¤¥×¤ä¡¢²Äǽ¤Ç¤¢¤ì¤Ð DHCP ¥¯¥é¥¤¥¢¥ó¥È¤ÎÀßÄê¤ò
-¼±Ê̤¹¤ë¤¿¤á¤Ë¡¢¤¤¤¯¤Ä¤«¤Î DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ç»È¤ï¤ì¤Þ¤¹¡£
-¤³¤Î¾ðÊó¤ÎÆâÍƤϡ¢¥Ù¥ó¥À¸ÇͤΥХ¤¥Èʸ»úÎó¤Ç¡¢É¸½à¤Ç¤Ïµ¬Äꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-¥¯¥é¥¤¥¢¥ó¥È¤¬Á÷½Ð¤¹¤ë¥Ù¥ó¥À¥¯¥é¥¹¼±Ê̻Ҥò³Îǧ¤¹¤ë¤Ë¤Ï¡¢
-°Ê²¼¤ÎÀßÄê¤ò DHCP ¥µ¡¼¥ÐÀßÄê¥Õ¥¡¥¤¥ë¤Ë²Ã¤¨¤Æ¤¯¤À¤µ¤¤:
+�ܥ��ץ����ϡ��٥�������פ䡢��ǽ�Ǥ���� DHCP ���饤����Ȥ������
+���̤��뤿��ˡ������Ĥ��� DHCP ���饤����ȤǻȤ��ޤ���
+���ξ�������Ƥϡ��٥����ͭ�ΥХ���ʸ����ǡ�ɸ��Ǥϵ��ꤵ��Ƥ��ޤ���
+���饤����Ȥ����Ф���٥�����饹���̻Ҥ��ǧ����ˤϡ�
+�ʲ�������� DHCP ����������ե�����˲ä��Ƥ�������:
.nf
.PP
set vendor-class option vendor-class-identifier;
.fi
.PP
-¤³¤ÎÀßÄê¤Ï¡¢DHCP ¥µ¡¼¥Ð¤Î¥ê¡¼¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ëÃæ¤Î¡¢
-°Ê²¼¤Î¤è¤¦¤Ê set ʸ¤ò»ý¤Ä vendor-class-identifier ¥ª¥×¥·¥ç¥ó¤ò
-Á÷¤Ã¤Æ¤¯¤ë¥¯¥é¥¤¥¢¥ó¥È¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤ËºîÍѤ·¤Þ¤¹¡£
+��������ϡ�DHCP �����ФΥ���ǡ����١����ե�������Ρ�
+�ʲ��Τ褦�� set ʸ����� vendor-class-identifier ���ץ�����
+���äƤ��륯�饤����Ȥ��٤ƤΥ���ȥ�˺��Ѥ��ޤ���
.nf
.PP
set vendor-class "SUNW.Ultra-5_10";
.fi
.PP
-vendor-class-identifier ¥ª¥×¥·¥ç¥ó¤Ï¡¢Ä̾ï DHCP Server ¤Ë¤è¤Ã¤Æ¡¢
+vendor-class-identifier ���ץ����ϡ��̾� DHCP Server �ˤ�äơ�
.B vendor-encapsulated-options
-¥ª¥×¥·¥ç¥óÃæ¤ÇÊÖ¤µ¤ì¤ë¥ª¥×¥·¥ç¥ó¤ò·èÄꤹ¤ë¤Î¤Ë»È¤ï¤ì¤Þ¤¹¡£
-¤µ¤é¤Ê¤ë¾ðÊó¤Ï¡¢dhcpd.conf ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Î VENDOR ENCAPSULATED OPTIONS ¤Î
-¾Ï¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+���ץ��������֤���륪�ץ�������ꤹ��Τ˻Ȥ��ޤ���
+����ʤ����ϡ�dhcpd.conf �ޥ˥奢��ڡ����� VENDOR ENCAPSULATED OPTIONS ��
+�ϤȤ��Ƥ���������
.RE
.PP
.B option \fBvendor-encapsulated-options\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
.\" metal
-\fBvendor-encapsulated-options\fR ¥ª¥×¥·¥ç¥ó¤Ï¡¢1 ¤Ä¤Î¥Ù¥ó¥À¸ÇÍÃÍ¡¢
-¤â¤·¤¯¤Ï 1 ¤Ä¤Þ¤¿¤Ï¤½¤ì°Ê¾å¤Î¥Ù¥ó¥À¸ÇÍ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò´Þ¤ß¤Þ¤¹¡£
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢Ä̾ï DHCP ¥µ¡¼¥Ð¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ÇÀßÄꤵ¤ì¤ë¤â¤Î¤Ç¤Ï
-¤¢¤ê¤Þ¤»¤ó¡£
-Ä̾ï¤Ï¡¢¥Ù¥ó¥À¥¯¥é¥¹¤¬¥Ù¥ó¥ÀËè¤ËÄêµÁ¤µ¤졢
-¥Ù¥ó¥À¥¯¥é¥¹¥µ¥Ö¥ª¥×¥·¥ç¥ó¤¬ÄêµÁ¤µ¤ì¡¢¤½¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ÎÃͤ¬
-ÄêµÁ¤µ¤ì¡¢DHCP ¥µ¡¼¥Ð¤Ï¤½¤ì¤é¤ò¤â¤È¤Ë±þÅú¤òÁȤ߾夲¤Þ¤¹¡£
-.PP
-¤è¤¯ÃΤé¤ì¤¿ DHCP ¥¯¥é¥¤¥¢¥ó¥È¥Ù¥ó¥À (º£¤Î¤È¤³¤í Microsoft Windows
-2000 DHCP ¥¯¥é¥¤¥¢¥ó¥È) ¸þ¤±¤Î¤¤¤¯¤Ä¤«¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤Ç¤Ï¡¢
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¼«Æ°Åª¤ËÀßÄꤵ¤ì¤Þ¤¹¤¬¡¢¤½¤Î¾¤Î¤â¤Î¤Ë´Ø¤·¤Æ¤Ï¡¢
-¼êÆ°¤ÇÀßÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-¾ÜºÙ¤Ï \fIdhcpd.conf\fI ¤Î VENDOR ENCAPSULATED OPTIONS ¤Î¾Ï¤ò
-»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+\fBvendor-encapsulated-options\fR ���ץ����ϡ�1 �ĤΥ٥����ͭ�͡�
+�⤷���� 1 �Ĥޤ��Ϥ���ʾ�Υ٥����ͭ���֥��ץ�����ޤߤޤ���
+�ܥ��ץ����ϡ��̾� DHCP �����Ф�����ե���������ꤵ����ΤǤ�
+����ޤ���
+�̾�ϡ��٥�����饹���٥�����������졢
+�٥�����饹���֥��ץ����������졢���Υ��֥��ץ������ͤ�
+������졢DHCP �����ФϤ������Ȥ˱������Ȥ߾夲�ޤ���
+.PP
+�褯�Τ�줿 DHCP ���饤����ȥ٥�� (���ΤȤ��� Microsoft Windows
+2000 DHCP ���饤�����) �����Τ����Ĥ��Υǥե���Ȥ�ư��Ǥϡ�
+���Υ��ץ����ϼ�ưŪ�����ꤵ��ޤ���������¾�Τ�Τ˴ؤ��Ƥϡ�
+��ư�����ꤷ�ʤ���Фʤ�ޤ���
+�ܺ٤� \fIdhcpd.conf\fI �� VENDOR ENCAPSULATED OPTIONS �ξϤ�
+���Ȥ��Ƥ���������
.RE
.PP
.B option \fBwww-server\fR \fIip-address\fR [\fB,\fR
\fIip-address\fR... ]\fB;\fR
.RS 0.25i
.PP
-WWW ¥µ¡¼¥Ð¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê WWW ¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+WWW �����Х��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� WWW �Υꥹ�Ȥ���ꤷ�ޤ���
+�����Фϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
.PP
.B option \fBx-display-manager\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÍøÍѲÄǽ¤Ê X Window System
-¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¥¢¥É¥ì¥¹¤Ï¡¢Í¥À褵¤ì¤ë¤â¤Î¤«¤é½ç¤Ë¥ê¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
+�ܥ��ץ����ϡ����饤����Ȥ����Ѳ�ǽ�� X Window System
+�ǥ����ץ쥤�ޥ͡������¹Ԥ��Ƥ��륷���ƥ�Υꥹ�Ȥ���ꤷ�ޤ���
+���ɥ쥹�ϡ�ͥ�褵����Τ����˥ꥹ�Ȥ��Ƥ���������
.RE
-.SH ¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¾ðÊ󥪥ץ·¥ç¥ó
+.SH ��졼����������Ⱦ��ץ����
.\" metal
-IETF ¥É¥é¥Õ¥È draft-ietf-dhc-agent-options-11.txt ¤Ë¤Ï¡¢
-DHCP ¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤¬ DHCP ¥Ñ¥±¥Ã¥È¤ò DHCP ¥µ¡¼¥Ð¤ËžÁ÷¤¹¤ëºÝ¡¢
-DHCP ¥Ñ¥±¥Ã¥È¤ËÉղ乤뤳¤È¤Î¤Ç¤¤ë°ìÏ¢¤Î¥«¥×¥»¥ë²½¤µ¤ì¤¿¥ª¥×¥·¥ç¥ó¤¬
-ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë´ð¤Å¤¡¢¥¢¥É¥ì¥¹³äÅö¤Î·èÄê
-(¤ä¡¢¤½¤Î¾¤ÎȽÃÇ) ¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¤Þ¤¿¥µ¡¼¥Ð¤Ï¡¢¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤òÄ̤·¤ÆÊÖ¤µ¤ì¤ë¤É¤Î¥Ñ¥±¥Ã¥È¤Ë¤â
-¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤òÆþ¤ì¤ÆÊÖ¤·¤Þ¤¹¡£
-¤³¤ì¤Ë¤è¤Ã¤Æ¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤Ï¡¢ÇÛÁ÷¤ä¥¢¥«¥¦¥ó¥Æ¥£¥ó¥°¤Ê¤É¤ò
-¹Ô¤¦¤¿¤á¤Ë¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ë´Þ¤Þ¤ì¤ë¾ðÊó¤òÍøÍѤǤ¤Þ¤¹¡£
-.PP
-¸½ºß¤Î¥É¥é¥Õ¥È¤Ë¤Ï 2 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-DHCP ¥µ¡¼¥Ð¤Ç¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¶õ´Ö̾
-"agent" ¤Î¤¢¤È¤Ë¥Ô¥ê¥ª¥É¤ò¤Ä¤±¡¢¤½¤Î¸å¤Ë¥ª¥×¥·¥ç¥ó̾¤ò³¤±¤Æ¤¯¤À¤µ¤¤¡£
-¥µ¡¼¥Ð¤Ç¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ÎÃͤòÄêµÁ¤¹¤ë¤³¤È¤Ï¡¢
-Ä̾濫¤Þ¤ê͸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢µöÍƤµ¤ì¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
+IETF �ɥ�ե� draft-ietf-dhc-agent-options-11.txt �ˤϡ�
+DHCP ��졼����������Ȥ� DHCP �ѥ��åȤ� DHCP �����Ф�ž������ݡ�
+DHCP �ѥ��åȤ��ղä��뤳�ȤΤǤ����Ϣ�Υ��ץ��벽���줿���ץ����
+�������Ƥ��ޤ���
+�����Фϡ������Υ��ץ����˴�Ť������ɥ쥹�����η���
+(�䡢����¾��Ƚ��) ��Ԥ����Ȥ��Ǥ��ޤ���
+�ޤ������Фϡ���졼����������Ȥ��̤����֤����ɤΥѥ��åȤˤ�
+�����Υ��ץ�����������֤��ޤ���
+����ˤ�äƥ�졼����������Ȥϡ������䥢������ƥ��ʤɤ�
+�Ԥ�����ˡ������Υ��ץ����˴ޤޤ���������ѤǤ��ޤ���
+.PP
+���ߤΥɥ�եȤˤ� 2 �ĤΥ��ץ�����������Ƥ��ޤ���
+DHCP �����ФǤ����Υ��ץ����Ȥ���ˤϡ����ץ�������̾
+"agent" �Τ��Ȥ˥ԥꥪ�ɤ�Ĥ������θ�˥��ץ����̾��³���Ƥ���������
+�����ФǤ����Υ��ץ������ͤ�������뤳�Ȥϡ�
+�̾濫�ޤ�ͭ���ǤϤ���ޤ������Ƥ���Ƥ��ޤ���
+�����Υ��ץ����ϡ����饤����ȤǤϥ��ݡ��Ȥ���Ƥ��ޤ���
.PP
.B option \fBagent.circuit-id\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
-circuit-id ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤Ø¤Î DHCP ¥Ñ¥±¥Ã¥È¤ò
-¼õ¤±¼è¤Ã¤¿¥µ¡¼¥¥Ã¥È¤ò¼¨¤¹¡¢¥¨¡¼¥¸¥§¥ó¥È¥í¡¼¥«¥ë¤Ê¥µ¡¼¥¥Ã¥È¼±Ê̻Ҥò
-¥¨¥ó¥³¡¼¥É¤·¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï¡¢DHCP ±þÅú¤òŬÀڤʥµ¡¼¥¥Ã¥È¤Ø¤ÈÁ÷¤êÊÖ¤»¤ë¤è¤¦¡¢
-¥¨¡¼¥¸¥§¥ó¥È¤Ë¤è¤Ã¤Æ»È¤ï¤ì¤ë¤³¤È¤ò°Õ¿Þ¤·¤Æ¤¤¤Þ¤¹¡£
-¸½ºß¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Î½ñ¼°¤ÎÄêµÁ¤Ï¥Ù¥ó¥À°Í¸¤È¤Ê¤Ã¤Æ¤ª¤ꡢ
-¿ʬ¤³¤Î¤Þ¤Þ»Ä¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£
-¤·¤«¤·¾Í褳¤Î½ñ¼°¤¬É¸½à²½¤µ¤ì¤ë²ÄǽÀ¤â¡¢¸½ºß¤Î¥É¥é¥Õ¥È¤Ë¤Ï»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+circuit-id ���֥��ץ����ϡ����饤����Ȥ��饵���Фؤ� DHCP �ѥ��åȤ�
+������ä��������åȤ�������������ȥ�������ʥ������åȼ��̻Ҥ�
+�����ɤ��Ƥ��ޤ���
+����ϡ�DHCP ������Ŭ�ڤʥ������åȤؤ������֤���褦��
+����������Ȥˤ�äƻȤ��뤳�Ȥ�տޤ��Ƥ��ޤ���
+���ߡ����Υ��ץ����ν�����ϥ٥����¸�ȤʤäƤ��ꡢ
+¿ʬ���ΤޤĤ����Ǥ��礦��
+���������褳�ν�ɸ�ಽ������ǽ���⡢���ߤΥɥ�եȤˤϻĤ���Ƥ��ޤ���
.RE
.PP
.B option \fBagent.remote-id\fR \fIstring\fR\fB;\fR
.RS 0.25i
.PP
-remote-id ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ï¡¢¥µ¡¼¥¥Ã¥È¤Î½ªÃ¼¤Î¥ê¥â¡¼¥È¥Û¥¹¥È¤Î
-¾ðÊó¤ò¥¨¥ó¥³¡¼¥É¤·¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤Ë´Þ¤Þ¤ì¤ë¤Ç¤¢¤í¤¦¾ðÊó¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£
-¸Æ½Ð¸µ ID ¾ðÊ󡢥桼¥¶Ì¾¾ðÊó¡¢¥ê¥â¡¼¥È ATM ¥¢¥É¥ì¥¹¡¢¥±¡¼¥Ö¥ë¥â¥Ç¥à ID¡¢
-¤½¤Î¾¤ÎƱÍͤʾðÊó¡£
-¸¶Â§Åª¤Ë¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Î°ÕÌ£¤Ï¤Á¤ã¤ó¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-¤·¤«¤·Ä̾¥µ¡¼¥¥Ã¥È¤ÎÆÃÄê¤Î¥ê¥â¡¼¥È¥¨¥ó¥É¤ËÂФ·¤Æ°ì°Õ¤Ç¤¢¤ë¤褦
-´ÉÍý¾åÊݾڤµ¤ì¤¿¡¢¤Ê¤ó¤é¤«¤Î¥ª¥Ö¥¸¥§¥¯¥È¤È¹Í¤¨¤ë¤Ù¤¤â¤Î¤Ç¤¹¡£
+remote-id ���֥��ץ����ϡ��������åȤν�ü�Υ�⡼�ȥۥ��Ȥ�
+������ɤ��Ƥ��ޤ���
+����˴ޤޤ��Ǥ���������ϡ����Τ褦�ʤ�ΤǤ���
+�ƽи� ID ���桼��̾����⡼�� ATM ���ɥ쥹�������֥��ǥ� ID��
+����¾��Ʊ�ͤʾ���
+��§Ū�ˤϡ����Υ��ץ����ΰ�̣�Ϥ������������Ƥ��ޤ���
+�������̾�������åȤ�����Υ�⡼�ȥ���ɤ��Ф��ư�դǤ���褦
+�������ݾڤ��줿���ʤ�餫�Υ��֥������Ȥȹͤ���٤���ΤǤ���
.RE
-.SH ¥¯¥é¥¤¥¢¥ó¥È FQDN ¥µ¥Ö¥ª¥×¥·¥ç¥ó
+.SH ���饤����� FQDN ���֥��ץ����
.\" metal
-¸½ºß¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥É¥é¥Õ¥È draft-ietf-dhc-fqdn-option-00.txt ¤Ç
-ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È FQDN ¥ª¥×¥·¥ç¥ó¤Ï¡¢¤Þ¤Àɸ½à¤È¤Ê¤Ã¤Æ¤Ï¤¤¤Þ¤»¤ó¡£
-¤·¤«¤·¤¹¤Ç¤Ë½½Ê¬¹¤¯ÍøÍѤµ¤ì¤Æ¤ª¤ê¡¢²æ¡¹¤â¤³¤ì¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£
-¥ª¥×¥·¥ç¥ó¤Î½ñ¼°¤¬Ê£»¨¤Ê¤¿¤á¡¢¤³¤³¤Ç¤Ï¡¢Ã±ÆȤΥª¥×¥·¥ç¥ó¤Ç¤Ï¤Ê¤¯¡¢
-¥µ¥Ö¥ª¥×¥·¥ç¥ó¶õ´Ö¤Ë¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£
-°ìÈÌŪ¤Ë¤Ï¡¢ËÜ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥æ¡¼¥¶¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤ë¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢
-¼«Æ° DNS ¹¹¿·¥·¥¹¥Æ¥à¤Î°ìÉô¤È¤·¤Æ»È¤ï¤ì¤ë¤Ù¤¤â¤Î¤Ç¤¹¡£
+���ߡ������ͥåȥɥ�ե� draft-ietf-dhc-fqdn-option-00.txt ��
+�������Ƥ��륯�饤����� FQDN ���ץ����ϡ��ޤ�ɸ��ȤʤäƤϤ��ޤ���
+���������Ǥ˽�ʬ�������Ѥ���Ƥ��ꡢ�桹�⤳���������Ƥ��ޤ���
+���ץ����ν�ʣ���ʤ��ᡢ�����Ǥϡ�ñ�ȤΥ��ץ����ǤϤʤ���
+���֥��ץ������֤˼������Ƥ��ޤ���
+����Ū�ˤϡ��ܥ��ץ����ϡ��桼���ˤ�ä����ꤵ����ΤǤϤʤ���
+��ư DNS ���������ƥ�ΰ����Ȥ��ƻȤ���٤���ΤǤ���
.PP
.B option fqdn.no-client-update \fIflag\fB;
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤éÁ÷½Ð¤µ¤ì¤¿¾ì¹ç¡¢¤³¤ì¤¬ true ¤Ç¤¢¤ì¤Ð¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¼«Ê¬¤Î A ¥ì¥³¡¼¥É¤ò¹¹¿·¤·¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
-¥µ¡¼¥Ð¤«¤é¥¯¥é¥¤¥¢¥ó¥È¤ËÁ÷½Ð¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï
-¼«Ê¬¤Î A ¥ì¥³¡¼¥É¤ò¹¹¿·¤¹¤ë \fI¤Ù¤¤Ç¤Ï¤Ê¤¤\fR ¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ�����饤����Ȥ������Ф��줿��硢���줬 true �Ǥ���С�
+���饤����Ȥϼ�ʬ�� A �쥳���ɤ����ʤ����Ȥ��̣���ޤ���
+�����Ф��饯�饤����Ȥ����Ф��줿���ϡ����饤����Ȥ�
+��ʬ�� A �쥳���ɤ����� \fI�٤��ǤϤʤ�\fR ���Ȥ��̣���ޤ���
.RE
.PP
.B option fqdn.server-update \fIflag\fB;
.RS 0.25i
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤ËÁ÷½Ð¤µ¤ì¤¿¾ì¹硢
-¥µ¡¼¥Ð¤Ë¥¯¥é¥¤¥¢¥ó¥È¤Î A ¥ì¥³¡¼¥É¤Î¹¹¿·¤òÍ׵ᤷ¤Æ¤¤¤Þ¤¹¡£
-¥µ¡¼¥Ð¤«¤éÁ÷½Ð¤µ¤ì¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤Î A ¥ì¥³¡¼¥É¤ò
-¹¹¿·¤·¤¿ (¤â¤·¤¯¤Ï¤â¤¦¤¹¤°¹¹¿·¤¹¤ë¤È¤³¤í) ¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+�ܥ��ץ�����饤����Ȥ��饵���Ф����Ф��줿��硢
+�����Ф˥��饤����Ȥ� A �쥳���ɤι������ᤷ�Ƥ��ޤ���
+�����Ф������Ф��줿��硢�����Ф����饤����Ȥ� A �쥳���ɤ�
+�������� (�⤷���Ϥ⤦������������Ȥ���) �Ǥ��뤳�Ȥ��̣���ޤ���
.RE
.PP
.B option fqdn.encoded \fIflag\fB;
.RS 0.25i
.PP
-true ¤Ç¤¢¤Ã¤¿»þ¡¢¥ª¥×¥·¥ç¥ó¤Ë´Þ¤Þ¤ì¤ë¥É¥á¥¤¥ó̾¤¬¡¢
-¤¿¤À¤Î ASCII ¥Æ¥¥¹¥È¤Ç¤Ï¤Ê¤¯¡¢DNS ¥ï¥¤¥ä¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç
-¥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò¼¨¤·¤Æ¤Þ¤¹¡£
-¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¼«Ê¬¤¬ FQDN ¥ª¥×¥·¥ç¥ó¤Î DNS ¥ï¥¤¥ä¥Õ¥©¡¼¥Þ¥Ã¥È¤ò
-¥µ¥Ý¡¼¥È¤·¤Æ¤Ê¤¤¾ì¹ç¡¢Ä̾盧¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò false ¤ËÀßÄꤷ¤Þ¤¹¡£
-¥µ¡¼¥Ð¤Ï¾ï¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ÀßÄꤷ¤¿¤Î¤ÈƱ¤¸ÃͤòÀßÄꤷ¤ÆÊÖ¤¹¤Ù¤¤Ç¤¹¡£
-¤³¤ÎÃͤ¬ÀßÄê¥Õ¥¡¥¤¥ë¤ËÀßÄꤵ¤ì¤Æ¤¤¤¿»þ¤Ï¡¢\fIfqdn.fqdn\fR ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò
-¥¨¥ó¥³¡¼¥É¤¹¤ë¥Õ¥©¡¼¥Þ¥Ã¥È¤òÀ©¸æ¤·¤Þ¤¹¡£
+true �Ǥ��ä��������ץ����˴ޤޤ��ɥᥤ��̾����
+������ ASCII �ƥ����ȤǤϤʤ���DNS �磻��ե����ޥåȤ�
+�����ɤ���Ƥ��뤳�Ȥ��Ƥޤ���
+���饤����Ȥϡ���ʬ�� FQDN ���ץ����� DNS �磻��ե����ޥåȤ�
+���ݡ��Ȥ��Ƥʤ���硢�̾盧�Υ��֥��ץ����� false �����ꤷ�ޤ���
+�����ФϾ�ˡ����饤����Ȥ����ꤷ���Τ�Ʊ���ͤ����ꤷ���֤��٤��Ǥ���
+�����ͤ�����ե���������ꤵ��Ƥ������ϡ�\fIfqdn.fqdn\fR ���֥��ץ�����
+�����ɤ���ե����ޥåȤ����椷�ޤ���
.RE
.PP
.B option fqdn.rcode1 \fIflag\fB;
.B option fqdn.rcode2 \fIflag\fB;
.RS 0.25i
.PP
-¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¤½¤ì¤¾¤ì¡¢A ¥ì¥³¡¼¥É¤È PTR ¥ì¥³¡¼¥É¤Î¹¹¿··ë²Ì¤ò¼¨¤·¤Þ¤¹¡£
-¤³¤ì¤é¤Ï¡¢DHCP ¥µ¡¼¥Ð¤«¤é DHCP ¥¯¥é¥¤¥¢¥ó¥È¤Ø¤Î¤ßÁ÷¤é¤ì¤Þ¤¹¡£
-¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤ÎÃͤϡ¢DNS ¥×¥í¥È¥³¥ëµ¬³Ê¤Ë¤è¤êÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+�����Υ��ץ����Ϥ��줾�졢A �쥳���ɤ� PTR �쥳���ɤι�����̤��ޤ���
+�����ϡ�DHCP �����Ф��� DHCP ���饤����ȤؤΤ������ޤ���
+�����Υե�����ɤ��ͤϡ�DNS �ץ��ȥ��뵬�ʤˤ���������Ƥ��ޤ���
.RE
.PP
.B option fqdn.fqdn \fItext\fB;
.RS 0.25i
.PP
-¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍѤò˾¤à¥É¥á¥¤¥ó̾¤ò»ØÄꤷ¤Þ¤¹¡£
-¤³¤ì¤Ï´°Á´½¤¾þ¤µ¤ì¤¿¥É¥á¥¤¥ó̾¤Ç¤â¡¢Ã±°ì¤Î¥é¥Ù¥ë¤Ç¤â¹½¤¤¤Þ¤»¤ó¡£
-¤â¤·Ì¾Á°¤Ë '.' ʸ»ú¤¬´Þ¤Þ¤ì¤Ê¤±¤ì¤Ð¡¢¤½¤Î̾Á°¤Ï´°Á´½¤¾þ¤µ¤ì¤Æ¤ª¤é¤º¡¢
-¥µ¡¼¥Ð¤ÏÄ̾¥í¡¼¥«¥ë¤ËÄêµÁ¤µ¤ì¤¿¥É¥á¥¤¥óÃæ¤Î¤½¤Î̾Á°¤ò¹¹¿·¤·¤Þ¤¹¡£
+���饤����Ȥ����Ѥ�˾��ɥᥤ��̾����ꤷ�ޤ���
+����ϴ����������줿�ɥᥤ��̾�Ǥ⡢ñ��Υ�٥�Ǥ���ޤ���
+�⤷̾���� '.' ʸ�����ޤޤ�ʤ���С�����̾���ϴ�����������Ƥ��餺��
+�����Ф��̾���������������줿�ɥᥤ����Τ���̾�������ޤ���
.RE
.PP
-¤â¤·¤³¤ì¤é¤Î¥µ¥Ö¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤è¤¦¤È»×¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
-¥¯¥é¥¤¥¢¥ó¥È FQDN ¥ª¥×¥·¥ç¥ó¤Î¥É¥é¥Õ¥È (¤â¤·¤¯¤Ï¡¢É¸½à¤Ë¤Ê¤Ã¤¿»þ¤Ï¤½¤Îɸ½à)
-¤ò»²¾È¤¹¤ë¤³¤È¤ò¶¯¤¯¿ä¾©¤·¤Þ¤¹¡£
-¤³¤Îʸ½ñ¤Ï¡¢¤½¤Î¥É¥é¥Õ¥È¤ËÈæ¤Ù¤ÆÂ绨ÇĤÇÉÔ´°Á´¤Ç¤¢¤ꡢ
-¥¯¥é¥¤¥¢¥ó¥È FQDN ¥ª¥×¥·¥ç¥óµ¬³Ê¤ò¤¹¤Ç¤ËÍý²ò¤·¤Æ¤¤¤ë¿Í¤Ë»²¾È¤µ¤ì¤ë¤³¤È¤ò
-ñ¤Ë°Õ¿Þ¤·¤Æ¤¤¤ë¤â¤Î¤Ç¤¹¡£
-.SH NetWare/IP ¥µ¥Ö¥ª¥×¥·¥ç¥ó
+�⤷�����Υ��֥��ץ�������Ѥ��褦�ȻפäƤ���ΤǤ���С�
+���饤����� FQDN ���ץ����Υɥ�ե� (�⤷���ϡ�ɸ��ˤʤä����Ϥ���ɸ��)
+�Ȥ��뤳�Ȥ��侩���ޤ���
+����ʸ��ϡ����Υɥ�եȤ���٤��绨�Ĥ��Դ����Ǥ��ꡢ
+���饤����� FQDN ���ץ���ʤǤ����Ƥ���ͤ˻��Ȥ���뤳�Ȥ�
+ñ�˰տޤ��Ƥ����ΤǤ���
+.SH NetWare/IP ���֥��ץ����
.\" metal
-RFC2242 ¤Ï¡¢Novell ¤Î NetWare/IP ¥¯¥é¥¤¥¢¥ó¥ÈÍѤΥ«¥×¥»¥ë²½¤µ¤줿
-¥ª¥×¥·¥ç¥ó¤ÎÁȤòÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£
-DHCP ¥µ¡¼¥Ð¤Ë¤ª¤¤¤Æ¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¥ª¥×¥·¥ç¥ó¶õ´Ö̾
-"nwip" ¤Î¸å¤Ë¥Ô¥ê¥ª¥É¤ò¤Ä¤±¡¢¤½¤Î¸å¤Ë¥ª¥×¥·¥ç¥ó̾¤ò³¤±¤Æ¤¯¤À¤µ¤¤¡£
-°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄê¤Ç¤¤Þ¤¹:
+RFC2242 �ϡ�Novell �� NetWare/IP ���饤������ѤΥ��ץ��벽���줿
+���ץ������Ȥ�������Ƥ��ޤ���
+DHCP �����Фˤ����Ƥ����Υ��ץ�������Ѥ���ˤϡ����ץ�������̾
+"nwip" �θ�˥ԥꥪ�ɤ�Ĥ������θ�˥��ץ����̾��³���Ƥ���������
+�ʲ��Υ��ץ������Ǥ��ޤ�:
.PP
.B option \fBnwip.nsq-broadcast\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
-true ¤Ç¤¢¤Ã¤¿¾ì¹ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢NetWare/IP ¥µ¡¼¥Ð¤Î°ÌÃÖ¤ò
-õ¤¹¤Î¤Ë NetWare Nearest Server Query ¤ò»È¤¦¤Ù¤¤Ç¤¹¡£
-ËÜ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤¬ false ¤Ç¤¢¤Ã¤¿¾ì¹ç¡¢¤â¤·¤¯¤Ï»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Î
-Novell ¥¯¥é¥¤¥¢¥ó¥È¤ÎÆ°ºî¤Ïµ¬Äꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
+true �Ǥ��ä���硢���饤����Ȥϡ�NetWare/IP �����Фΰ��֤�
+õ���Τ� NetWare Nearest Server Query ��Ȥ��٤��Ǥ���
+�ܥ��֥��ץ���� false �Ǥ��ä���硢�⤷���ϻ��ꤵ��ʤ��ä�����
+Novell ���饤����Ȥ�ư��ϵ��ꤵ��Ƥ��ޤ���
.PP
.RE
.B option \fBnwip.preferred-dss\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢5 ¤Ä¤Þ¤Ç¤Î IP ¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¤½¤ì¤¾¤ì¤Î¥¢¥É¥ì¥¹¤Ï¡¢NetWare ¥É¥á¥¤¥ó SAP/RIP ¥µ¡¼¥Ð (DSS) ¤Î
-IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£
+�ܥ��֥��ץ����ˤϡ�5 �ĤޤǤ� IP ���ɥ쥹�Υꥹ�Ȥ���ꤷ�ޤ���
+���줾��Υ��ɥ쥹�ϡ�NetWare �ɥᥤ�� SAP/RIP ������ (DSS) ��
+IP ���ɥ쥹�Ǥ���
.RE
.PP
.B option \fBnwip.nearest-nwip-server\fR \fI\fIip-address\fR
[\fB,\fR \fIip-address\fR...]\fR\fB;\fR
.RS 0.25i
.PP
-ËÜ¥µ¥Ö¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢5 ¤Ä¤Þ¤Ç¤Î IP ¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤ò»ØÄꤷ¤Þ¤¹¡£
-¤½¤ì¤¾¤ì¤Î¥¢¥É¥ì¥¹¤Ï¡¢¶áÀܤΠNetWare IP ¥µ¡¼¥Ð
-(Nearest NetWare IP Server) ¤Î IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£
+�ܥ��֥��ץ����ˤϡ�5 �ĤޤǤ� IP ���ɥ쥹�Υꥹ�Ȥ���ꤷ�ޤ���
+���줾��Υ��ɥ쥹�ϡ����ܤ� NetWare IP ������
+(Nearest NetWare IP Server) �� IP ���ɥ쥹�Ǥ���
.RE
.PP
.B option \fBnwip.autoretries\fR \fIuint8\fR\fB;\fR
.RS 0.25i
.PP
-µ¯Æ°»þ¤Ë¡¢NetWare/IP ¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢Í¿¤¨¤é¤ì¤¿ DSS ¥µ¡¼¥Ð¤È
-²¿²óÄÌ¿®¤ò»î¤ß¤ë¤Ù¤¤«¤ò»ØÄꤷ¤Þ¤¹¡£
+��ư���ˡ�NetWare/IP ���饤����Ȥ���Ϳ����줿 DSS �����Ф�
+�����̿����ߤ�٤�������ꤷ�ޤ���
.RE
.PP
.B option \fBnwip.autoretry-secs\fR \fIuint8\fR\fB;\fR
.RS 0.25i
.PP
-µ¯Æ°»þ¤Ë¡¢NetWare/IP ¥¯¥é¥¤¥¢¥ó¥È¤¬¡¢Í¿¤¨¤é¤ì¤¿ DSS ¥µ¡¼¥Ð¤È
-ÄÌ¿®¤ò³ÎΩ¤¹¤ë»þ¤Ë¡¢¥ê¥È¥é¥¤¤Î´Ö²¿ÉÃÂԤĤ٤¤«¤ò»ØÄꤷ¤Þ¤¹¡£
+��ư���ˡ�NetWare/IP ���饤����Ȥ���Ϳ����줿 DSS �����Ф�
+�̿����Ω������ˡ���ȥ饤�δֲ����ԤĤ٤�������ꤷ�ޤ���
.RE
.PP
.B option \fBnwip.nwip-1-1\fR \fIuint8\fR\fB;\fR
.RS 0.25i
.PP
-true ¤Ç¤¢¤Ã¤¿¾ì¹ç¡¢NetWare/IP ¥¯¥é¥¤¥¢¥ó¥È¤Ï NetWare/IP
-¥Ð¡¼¥¸¥ç¥ó 1.1 ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤Ù¤¤Ç¤¹¡£
-¤³¤ì¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬ NetWare/IP ¥Ð¡¼¥¸¥ç¥ó 1.1 ¤Î¥µ¡¼¥Ð¤È
-ÄÌ¿®¤¹¤ë»þ¤Î¤ßɬÍפǤ¹¡£
+true �Ǥ��ä���硢NetWare/IP ���饤����Ȥ� NetWare/IP
+�С������ 1.1 �ݡ��Ȥ��Ƥ���٤��Ǥ���
+����ϡ����饤����Ȥ� NetWare/IP �С������ 1.1 �Υ����Ф�
+�̿�������Τ�ɬ�פǤ���
.RE
.PP
.B option \fBnwip.primary-dss\fR \fIip-address\fR\fB;\fR
.RS 0.25i
.PP
-NetWare/IP ¥É¥á¥¤¥ó¤Î¥×¥é¥¤¥Þ¥ê¥É¥á¥¤¥ó SAP/RIP ¥µ¡¼¥Ó¥¹¥µ¡¼¥Ð
-(DSS) ¤Î IP ¥¢¥É¥ì¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-¥»¥«¥ó¥À¥ê DSS ¥µ¡¼¥Ð¤ÎÀßÄê»þ¤Ë¡¢NetWare/IP ´ÉÍý¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢
-¤³¤ÎÃͤò¥×¥é¥¤¥Þ¥ê DSS ¥µ¡¼¥Ð¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£
+NetWare/IP �ɥᥤ��Υץ饤�ޥ�ɥᥤ�� SAP/RIP �����ӥ�������
+(DSS) �� IP ���ɥ쥹����ꤷ�ޤ���
+��������� DSS �����Ф�������ˡ�NetWare/IP �����桼�ƥ���ƥ��ϡ�
+�����ͤ�ץ饤�ޥ� DSS �����ФȤ��ƻ��Ѥ��ޤ���
.RE
-.SH ¿·µ¬¥ª¥×¥·¥ç¥ó¤ÎÄêµÁ
+.SH �������ץ��������
.\" metal
-Internet Systems Consortium DHCP ¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Ï¡¢
-¿·µ¬¥ª¥×¥·¥ç¥ó¤òÄêµÁ¤¹¤ëµ¡¹½¤âÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
-¤½¤ì¤¾¤ì¤Î DHCP ¥ª¥×¥·¥ç¥ó¤Ï¡¢Ì¾Á°¤È¥³¡¼¥É¡¢¹½Â¤¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
-̾Á°¤Ï¡¢»ÈÍѼԤ¬¥ª¥×¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
-¥³¡¼¥É¤Ï¡¢DHCP ¥µ¡¼¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤¬¥ª¥×¥·¥ç¥ó¤ò»²¾È¤¹¤ë¤Î¤Ë
-»ÈÍѤ¹¤ëÈÖ¹æ¤Ç¤¹¡£
-¹½Â¤¤Ï¡¢¥ª¥×¥·¥ç¥ó¤ÎÆâÍƤ¬¤É¤Î¤è¤¦¤Ê¤â¤Î¤«¤òµ½Ò¤·¤Æ¤¤¤Þ¤¹¡£
-.PP
-¿·µ¬¥ª¥×¥·¥ç¥ó¤òÄêµÁ¤¹¤ë¤Ë¤Ï¡¢Â¾¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï»È¤ï¤ì¤Æ¤¤¤Ê¤¤Ì¾Á°¤ò
-Áª¤ÖɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-Î㤨¤Ð¡¢"host-name" ¤È¸À¤¦Ì¾Á°¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
-¤È¤¤¤¦¤Î¤â¡¢¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ë½Ð¤Æ¤¤¿¤è¤¦¤Ë¡¢
-DHCP ¥×¥í¥È¥³¥ë¤¬´û¤Ë host-name ¥ª¥×¥·¥ç¥ó¤òÄêµÁ¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£
-¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ë½Ð¤Æ¤¤Æ¤¤¤Ê¤¤¥ª¥×¥·¥ç¥ó̾¤Ê¤é¤Ð
-»È¤Ã¤Æ¤â¹½¤¤¤Þ¤»¤ó¤¬¡¢¾Íè½Ð¤Æ¤¯¤ë¥ª¥×¥·¥ç¥ó¤È½Å¤Ê¤é¤Ê¤¤¤è¤¦¤Ë¡¢
-¥ª¥×¥·¥ç¥ó̾¤ÎºÇ½é¤ËÆȼ«¤Îʸ»úÎó¤ò¤Ä¤±¤ë¤³¤È¤Ï¡¢Â¿Ê¬¤¤¤¤¹Í¤¨¤Ç¤·¤ç¤¦¡£
-Î㤨¤Ð¡¢¸ø¼°¤Î DHCP ¥ª¥×¥·¥ç¥ó¤Ë¤Ï "local" ¤Ç»Ï¤Þ¤ë¤â¤Î¤¬¤Ê¤¤¤Î¤Ç¡¢
-"local-host-name" ¤È¸À¤¦Ì¾Á°¤Ï¡¢¤¤¤¯¤é¤«°Â¿´¤·¤ÆÄêµÁ¤Ç¤¤ë¤Ç¤·¤ç¤¦¡£
-.PP
-̾Á°¤òÁªÂò¤·¤¿¤é¡¢¼¡¤Ï¥³¡¼¥É¤òÁª¤Ð¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-DHCP ¥ª¥×¥·¥ç¥ó¤Î 128 ¤«¤é 256 ¤Þ¤Ç¤Î¥³¡¼¥É¤Ï¡¢
-¥µ¥¤¥È¥í¡¼¥«¥ë¥ª¥×¥·¥ç¥óÍѤȤ·¤ÆͽÌ󤵤ì¤Æ¤¤¤ë¤Î¤Ç¡¢
-¤³¤ÎÃæ¤Î¥³¡¼¥É¤Ê¤é¤É¤ì¤Ç¤âÁª¤Ö¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¼ÂºÝ¤Ë¤Ï¡¢¥×¥í¥È¥³¥ë¤ò¾¯¡¹¤¢¤¤¤Þ¤¤¤Ë²ò¼á¤·¤Æ¤¤¤ë¥Ù¥ó¥À¤¬¤¢¤ꡢ
-128 ¤è¤êÂ礤¤ÃͤΥª¥×¥·¥ç¥ó¥³¡¼¥É¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£
-¤³¤ÎÌäÂê¤òËÜÅö¤Ë²óÈò¤¹¤ëÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢
-¼ÂºÝ¤Ë¤Ï¤½¤¦Â礤ÊÌäÂê¤ò°ú¤µ¯¤³¤¹¤â¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡£
-.PP
-¥ª¥×¥·¥ç¥ó¤Î¹½Â¤¤È¤Ï¡¢Ã±¤Ë¥ª¥×¥·¥ç¥ó¤Î¥Ç¡¼¥¿¤¬É½¸½¤µ¤ì¤Æ¤¤¤ë·Á¼°¤Ç¤¹¡£
-¸½ºß ISC DHCP ¥µ¡¼¥Ð¤Ï¡¢À°¿ô¡¢¥Ö¡¼¥ëÃÍ¡¢Ê¸»úÎ󤽤·¤Æ IP ¥¢¥É¥ì¥¹¤È¤¤¤Ã¤¿¡¢
-¤¤¤¯¤Ä¤«¤Îñ½ã¤Ê¥Ç¡¼¥¿·¿¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤ª¤ꡢ
-¤Þ¤¿Ã±°ì¥Ç¡¼¥¿·¿¤ÎÇÛÎó¤ä¸ÇÄê½ç¤Î¥Ç¡¼¥¿·¿Îó¤ÎÇÛÎó¤òÄêµÁ¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-.PP
-¿·µ¬¥ª¥×¥·¥ç¥ó¤Ï¡¢°Ê²¼¤Î¤è¤¦¤ËÀë¸À¤µ¤ì¤Þ¤¹:
+Internet Systems Consortium DHCP ���饤����Ȥȥ����Фϡ�
+�������ץ�����������뵡�������Ƥ��ޤ���
+���줾��� DHCP ���ץ����ϡ�̾���ȥ����ɡ���¤����äƤ��ޤ���
+̾���ϡ����ѼԤ����ץ����Ȥ���Τ˻��Ѥ���ޤ���
+�����ɤϡ�DHCP �����Фȥ��饤����Ȥ����ץ����Ȥ���Τ�
+���Ѥ����ֹ�Ǥ���
+��¤�ϡ����ץ��������Ƥ��ɤΤ褦�ʤ�Τ��Ҥ��Ƥ��ޤ���
+.PP
+�������ץ������������ˤϡ�¾�Υ��ץ����ǤϻȤ��Ƥ��ʤ�̾����
+����ɬ�פ�����ޤ���
+�㤨�С�"host-name" �ȸ���̾���ϻ��ѤǤ��ޤ���
+�Ȥ����Τ⡢���Υޥ˥奢��ڡ����˽ФƤ����褦�ˡ�
+DHCP �ץ��ȥ��뤬���� host-name ���ץ�����������Ƥ��뤫��Ǥ���
+���Υޥ˥奢��ڡ����˽ФƤ��Ƥ��ʤ����ץ����̾�ʤ��
+�ȤäƤ���ޤ�������ФƤ��륪�ץ����ȽŤʤ�ʤ��褦�ˡ�
+���ץ����̾�κǽ���ȼ���ʸ�����Ĥ��뤳�Ȥϡ�¿ʬ�����ͤ��Ǥ��礦��
+�㤨�С������� DHCP ���ץ����ˤ� "local" �ǻϤޤ��Τ��ʤ��Τǡ�
+"local-host-name" �ȸ���̾���ϡ������餫�¿���������Ǥ���Ǥ��礦��
+.PP
+̾���������顢���ϥ����ɤ����ФͤФʤ�ޤ���
+DHCP ���ץ����� 128 ���� 256 �ޤǤΥ����ɤϡ�
+�����ȥ������륪�ץ�����ѤȤ���ͽ��Ƥ���Τǡ�
+������Υ����ɤʤ�ɤ�Ǥ����֤��Ȥ��Ǥ��ޤ���
+�ºݤˤϡ��ץ��ȥ���������ޤ��˲�ᤷ�Ƥ���٥�������ꡢ
+128 ����礭���ͤΥ��ץ�����ɤ���Ѥ��Ƥ��ޤ���
+��������������˲�����ˡ�Ϥ���ޤ���
+�ºݤˤϤ����礭������������������ΤǤϤʤ��Ǥ��礦��
+.PP
+���ץ����ι�¤�Ȥϡ�ñ�˥��ץ����Υǡ�����ɽ������Ƥ�������Ǥ���
+���� ISC DHCP �����Фϡ��������֡����͡�ʸ������ IP ���ɥ쥹�Ȥ��ä���
+�����Ĥ���ñ��ʥǡ������ݡ��Ȥ��Ƥ��ꡢ
+�ޤ�ñ��ǡ����������������Υǡ�������������������뤳�Ȥ�Ǥ��ޤ���
+.PP
+�������ץ����ϡ��ʲ��Τ褦���������ޤ�:
.PP
.B option
.I new-name
.B ;
.PP
.I new-name
-¤È
+��
.I new-code
-¤ÎÃͤϡ¢¿·µ¬¥ª¥×¥·¥ç¥óÍѤˤ¢¤Ê¤¿¤¬Áª¤ó¤À¤â¤Î¤Ç¤¹¡£
+���ͤϡ��������ץ�����Ѥˤ��ʤ����������ΤǤ���
.I definition
-¤Ï¡¢¥ª¥×¥·¥ç¥ó¤Î¹½Â¤¤ÎÄêµÁ¤Ç¤¹¡£
+�ϡ����ץ����ι�¤������Ǥ���
.PP
-°Ê²¼¤Îñ½ã¤Ê¥ª¥×¥·¥ç¥ó¤Î·¿ÄêµÁ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹:
+�ʲ���ñ��ʥ��ץ����η���������ݡ��Ȥ���Ƥ��ޤ�:
.PP
-.B ¥Ö¡¼¥ëÃÍ
+.B �֡�����
.PP
.B option
.I new-name
.B boolean
.B ;
.PP
-¥Ö¡¼¥ë·¿¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢on ¤Þ¤¿¤Ï off (¤â¤·¤¯¤Ï true ¤« false) ¤ÎÃͤò
-»ý¤Ä¥Õ¥é¥°¤Ç¤¹¡£
-¥Ö¡¼¥ë·¿¤Î»ÈÍÑÎã¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹:
+�֡��뷿�Υ��ץ����ϡ�on �ޤ��� off (�⤷���� true �� false) ���ͤ�
+���ĥե饰�Ǥ���
+�֡��뷿�λ�����ϡ��ʲ��Τ褦�ˤʤ�ޤ�:
.nf
option use-zephyr code 180 = boolean;
option use-zephyr on;
.fi
-.B À°¿ô
+.B ����
.PP
.B option
.I new-name
.I width
.B ;
.PP
-\fIsign\fR ¥È¡¼¥¯¥ó¤Ï¡¢¶õÇò¡¢\fIunsigned\fR¡¢\fIsigned\fR ¤Î¤¤¤º¤ì¤«¤Ç¤¹¡£
-width ¤Ï 8, 16, 32 ¤Î¤¤¤º¤ì¤«¤Ç¡¢À°¿ô¤Î bit ¿ô¤ò¼¨¤·¤Þ¤¹¡£
-Î㤨¤Ð¡¢°Ê²¼¤Î 2 ¹Ô¤Ï¡¢sql-connection-max ¥ª¥×¥·¥ç¥ó¤ÎÄêµÁ¤È
-»ÈÍÑË¡¤ò¼¨¤·¤Þ¤¹:
+\fIsign\fR �ȡ�����ϡ�����\fIunsigned\fR��\fIsigned\fR �Τ����줫�Ǥ���
+width �� 8, 16, 32 �Τ����줫�ǡ������� bit �����ޤ���
+�㤨�С��ʲ��� 2 �Ԥϡ�sql-connection-max ���ץ����������
+����ˡ���ޤ�:
.nf
option sql-connection-max code 192 = unsigned integer 16;
option sql-connection-max 1536;
.fi
-.B IP ¥¢¥ɥ쥹
+.B IP ���ɥ쥹
.PP
.B option
.I new-name
.B ip-address
.B ;
.PP
-IP ¥¢¥É¥ì¥¹·¿¤Î¹½Â¤¤ò»ý¤Ä¥ª¥×¥·¥ç¥ó¤Ï¡¢¥É¥á¥¤¥ó̾¤â¤·¤¯¤Ï
-¥É¥Ã¥È¶èÀÚ¤ê¤Î 4 À°¿ô¤Çɽ¸½¤µ¤ì¤Þ¤¹¡£
-°Ê²¼¤Ï¡¢IP ¥¢¥É¥ì¥¹·¿¤Î»ÈÍÑÎã¤Ç¤¹:
+IP ���ɥ쥹���ι�¤����ĥ��ץ����ϡ��ɥᥤ��̾�⤷����
+�ɥåȶ��ڤ�� 4 ������ɽ������ޤ���
+�ʲ��ϡ�IP ���ɥ쥹���λ�����Ǥ�:
.nf
option sql-server-address code 193 = ip-address;
.fi
.PP
-.B ¥Æ¥¥¹¥È
+.B �ƥ�����
.PP
.B option
.I new-name
.B text
.B ;
.PP
-¥Æ¥¥¹¥È·¿¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ASCII ¥Æ¥¥¹¥Èʸ»úÎó¤ò¥¨¥ó¥³¡¼¥É¤·¤Þ¤¹¡£
-Î㤨¤Ð:
+�ƥ����ȷ��Υ��ץ����ϡ�ASCII �ƥ�����ʸ������ɤ��ޤ���
+�㤨��:
.nf
option sql-default-connection-name code 194 = text;
.fi
.PP
-.B ¥Ç¡¼¥¿Ê¸»úÎó
+.B �ǡ���ʸ����
.PP
.B option
.I new-name
.B string
.B ;
.PP
-¥Ç¡¼¥¿Ê¸»úÎ󷿤Υª¥×¥·¥ç¥ó¤Ï¡¢ËܼÁŪ¤Ë¤Ïñ¤Ê¤ë¥Ð¥¤¥È¤Î½¸¹çÂΤǤ¹¡£
-¥Æ¥¥¹¥È·¿¤Î¤è¤¦¤Ë¥¯¥ª¡¼¥È¤µ¤ì¤¿¥Æ¥¥¹¥È¤Ç»ØÄꤵ¤ì¤ë¤«¡¢
-¤â¤·¤¯¤Ï¥³¥í¥ó¶èÀÚ¤ê¤Î 16 ¿Ê¿ô¤Î¥ê¥¹¥È¤Ç»ØÄꤵ¤ì¤Þ¤¹¡£
-¤³¤Î»þ¥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤¿Ãæ¿È¤Ï¡¢0 ¤«¤é FF ¤Î´Ö¤ÎÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
-Î㤨¤Ð:
+�ǡ���ʸ���Υ��ץ����ϡ��ܼ�Ū�ˤ�ñ�ʤ�Х��Ȥν����ΤǤ���
+�ƥ����ȷ��Τ褦�˥������Ȥ��줿�ƥ����Ȥǻ��ꤵ��뤫��
+�⤷���ϥ�������ڤ�� 16 �ʿ��Υꥹ�Ȥǻ��ꤵ��ޤ���
+���λ�������Ƕ��ڤ�줿��Ȥϡ�0 ���� FF �δ֤��ͤǤʤ���Фʤ�ޤ���
+�㤨��:
.nf
option sql-identification-token code 195 = string;
.fi
.PP
-.B ¥«¥×¥»¥벽
+.B ���ץ��벽
.PP
.B option
.I new-name
.I identifier
.B ;
.PP
-¥«¥×¥»¥ë²½·¿¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\fIidentifier\fR ¤Ç»ØÄꤵ¤줿
-¥ª¥×¥·¥ç¥ó¶õ´Ö¤ÎÃæ¿È¤ò¥«¥×¥»¥ë²½¤·¤Þ¤¹¡£
-¸½ºß DHCP ¥×¥í¥È¥³¥ë¤Ë¸ºß¤¹¤ë¥«¥×¥»¥ë²½¥ª¥×¥·¥ç¥ó¤ÎÎã¤Ï¡¢
-vendor-encapsulated-options ¥ª¥×¥·¥ç¥ó¡¢netware-suboptions ¥ª¥×¥·¥ç¥ó¡¢
-relay-agent-information ¥ª¥×¥·¥ç¥ó¤Ê¤É¤Ç¤¹¡£
+���ץ��벽���Υ��ץ����ϡ�\fIidentifier\fR �ǻ��ꤵ�줿
+���ץ������֤���Ȥץ��벽���ޤ���
+���� DHCP �ץ��ȥ����¸�ߤ��륫�ץ��벽���ץ�������ϡ�
+vendor-encapsulated-options ���ץ����netware-suboptions ���ץ����
+relay-agent-information ���ץ����ʤɤǤ���
.nf
option space local;
.fi
.PP
-.B ÇÛÎó
+.B ����
.PP
-¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Æ¥¥¹¥È·¿¤È¥Ç¡¼¥¿Ê¸»úÎ󷿰ʳ°¤Î¾å½Ò¤Î¤¤¤«¤Ê¤ë¥Ç¡¼¥¿·¿¤Î
-ÇÛÎó¤â´Þ¤à¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-¥Æ¥¥¹¥È·¿¤È¥Ç¡¼¥¿Ê¸»úÎ󷿤ϡ¢¸½ºßÇÛÎó¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-ÇÛÎóÄêµÁ¤ÎÎã¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹:
+���ץ����ϡ��ƥ����ȷ��ȥǡ���ʸ���ʳ��ξ�ҤΤ����ʤ�ǡ�������
+�����ޤळ�Ȥ��Ǥ��ޤ���
+�ƥ����ȷ��ȥǡ���ʸ���ϡ���������Ǥϥ��ݡ��Ȥ���Ƥ��ޤ���
+�����������ϰʲ����̤�Ǥ�:
.nf
option kerberos-servers code 200 = array of ip-address;
option kerberos-servers 10.20.10.1, 10.20.11.1;
.fi
-.B ¥ì¥³¡¼¥É
+.B �쥳����
.PP
-¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¡¼¥¿·¿¤ÎÎó¤Ç¹½À®¤µ¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤ò´Þ¤à¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-¤³¤ì¤Ï¤·¤Ð¤·¤Ð¥ì¥³¡¼¥É·¿¤È¸Æ¤Ð¤ì¤Þ¤¹¡£
-Î㤨¤Ð:
+���ץ����ϡ��ǡ���������ǹ��������ǡ�����¤��ޤळ�Ȥ�Ǥ��ޤ���
+����Ϥ��Ф��Х쥳���ɷ��ȸƤФ�ޤ���
+�㤨��:
.nf
option contrived-001 code 201 = { boolean, integer 32, text };
option contrived-001 on 1772 "contrivance";
.fi
-¤Þ¤¿¥ì¥³¡¼¥É¤ÎÇÛÎó¤Î¥ª¥×¥·¥ç¥ó¤ò»ý¤Ä¤³¤È¤â¤Ç¤¤Þ¤¹¡£
-Î㤨¤Ð:
+�ޤ��쥳���ɤ�����Υ��ץ�������Ĥ��Ȥ�Ǥ��ޤ���
+�㤨��:
.nf
option new-static-routes code 201 = array of {
10.0.1.0 255.255.255.0 net-1-rtr.example.com 1,
10.2.0.0 255.255.224.0 net-2-0-rtr.example.com 3;
-.fi
-.SH ¥Ù¥ó¥À¥«¥×¥»¥ë²½¥ª¥×¥·¥ç¥ó
+.fi
+.SH �٥�����ץ��벽���ץ����
.\" metal
-DHCP ¥×¥í¥È¥³¥ë¤Ë¤Ï¡¢\fB vendor-encapsulated-options\fR ¥ª¥×¥·¥ç¥ó¤¬
-ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
-¥Ù¥ó¥À¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢¥Ù¥ó¥À¸ÇͤΥª¥×¥·¥ç¥ó¤ò
-ɸ½à DHCP ¥ª¥×¥·¥ç¥ó¤Ë´Þ¤á¤ÆÁ÷½Ð¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+DHCP �ץ��ȥ���ˤϡ�\fB vendor-encapsulated-options\fR ���ץ����
+�������Ƥ��ޤ���
+�٥���ϡ����Υ��ץ����ˤ�äơ��٥����ͭ�Υ��ץ�����
+ɸ�� DHCP ���ץ����˴ޤ�����Ф��뤳�Ȥ��Ǥ��ޤ���
.B vendor-encapsulated-options
-¥ª¥×¥·¥ç¥ó¤Î½ñ¼°¤Ï¡¢½ñ¼°¤¬µ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤°ìÏ¢¤Î¥Ð¥¤¥ÈÎó¡¢
-¤â¤·¤¯¤Ï°ìÏ¢¤Î¥ª¥×¥·¥ç¥óÎó¤Ç¤¹¡£
-¥ª¥×¥·¥ç¥óÎóÃæ¤Î¤½¤ì¤¾¤ì¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢1 ¥Ð¥¤¥È¤Î¥Ù¥ó¥À¸ÇͤÎ
-¥ª¥×¥·¥ç¥ó¥³¡¼¥É¤Î¸å¤Ë 1 ¥Ð¥¤¥È¤Î¥Ç¡¼¥¿Ä¹¡¢
-¤½¤·¤Æ¤½¤Î¥Ç¡¼¥¿Ä¹¤Ç»ØÄꤵ¤ì¤¿Â礤µ¤Î¥Ç¡¼¥¿¤¬Â³¤¤¤¿¤â¤Î¤Ç¹½À®¤µ¤ì¤Þ¤¹
-(¥Ç¡¼¥¿Ä¹¤Ë¤Ï¡¢¥Ç¡¼¥¿Ä¹¼«¿È¤ä¥ª¥×¥·¥ç¥ó¥³¡¼¥É¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó)¡£
-.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤ÎÃͤϡ¢2 ¤Ä¤ÎÊýË¡¤Î¤¤¤º¤ì¤«¤ÇÀßÄꤵ¤ì¤Þ¤¹¡£
-1 ÈÖÌܤÎÊýË¡¤Ï¡¢Ã±¤Ë¥Ç¡¼¥¿¤òľÀÜ»ØÄꤹ¤ë¤â¤Î¤Ç¤¹¡£
-¥Ç¡¼¥¿¤Î»ØÄê¤Ë¤Ï¡¢¥Æ¥¥¹¥Èʸ»úÎ󤫥³¥í¥ó¤Ç¶èÀÚ¤é¤ì¤¿ 16 ¿Ê¿ôÃͤòÍѤ¤¤Þ¤¹¡£
-Î㤨¤Ð:
+���ץ����νϡ������ꤵ��Ƥ��ʤ���Ϣ�ΥХ�����
+�⤷���ϰ�Ϣ�Υ��ץ������Ǥ���
+���ץ��������Τ��줾��Υ��ץ����ϡ�1 �Х��ȤΥ٥����ͭ��
+���ץ�����ɤθ�� 1 �Х��ȤΥǡ���Ĺ��
+�����Ƥ��Υǡ���Ĺ�ǻ��ꤵ�줿�礭���Υǡ�����³������Τǹ�������ޤ�
+(�ǡ���Ĺ�ˤϡ��ǡ���Ĺ���Ȥ䥪�ץ�����ɤϴޤޤ�ޤ���)��
+.PP
+�ܥ��ץ������ͤϡ�2 �Ĥ���ˡ�Τ����줫�����ꤵ��ޤ���
+1 ���ܤ���ˡ�ϡ�ñ�˥ǡ�����ľ�ܻ��ꤹ���ΤǤ���
+�ǡ����λ���ˤϡ��ƥ�����ʸ��������Ƕ��ڤ�줿 16 �ʿ��ͤ��Ѥ��ޤ���
+�㤨��:
.PP
.nf
option vendor-encapsulated-options
4:12:2f:65:78:70:6f:72:74:2f:72:6f:6f:74:2f:69:38:36:70:63;
.fi
.PP
-ËÜ¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë 2 ÈÖÌܤÎÊýË¡¤Ï¡¢DHCP ¥µ¡¼¥Ð¤Ë
-¥Ù¥ó¥À¸ÇÍ¥ª¥×¥·¥ç¥ó¥Ð¥Ã¥Õ¥¡¤òºîÀ®¤µ¤»¤ë¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£
-¤³¤ì¤ò¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î 4 ¤Ä¤Î¤³¤È¤ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹:
-¥ª¥×¥·¥ç¥ó¶õ´Ö¤òÄêµÁ¤·¡¢¤½¤Î¥ª¥×¥·¥ç¥ó¶õ´ÖÆâ¤Ë¥ª¥×¥·¥ç¥ó¤òÄêµÁ¤·¡¢
-¤½¤ì¤é¤ØÃͤò³ä¤ê¿¶¤ê¡¢ºÇ¸å¤Ë¤½¤Î¥ª¥×¥·¥ç¥ó¶õ´Ö¤¬
+�ܥ��ץ��������ꤹ�� 2 ���ܤ���ˡ�ϡ�DHCP �����Ф�
+�٥����ͭ���ץ����Хåե������������Ȥ�����ΤǤ���
+�����ˤϡ��ʲ��� 4 �ĤΤ��Ȥ�ɬ�פ�����ޤ�:
+���ץ������֤�����������Υ��ץ���������˥��ץ������������
+�������ͤ��꿶�ꡢ�Ǹ�ˤ��Υ��ץ������֤�
.B vendor-encapsulated-options
-¥ª¥×¥·¥ç¥ó¤ÎÀ¸À®¤Ë»ÈÍѤµ¤ì¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡£
+���ץ����������˻��Ѥ���뤳�Ȥ���ꤷ�ޤ���
.PP
-¥Ù¥ó¥À¥ª¥×¥·¥ç¥ó¤¬³ÊǼ¤µ¤ì¤ë¥ª¥×¥·¥ç¥ó¶õ´Ö¤ò¿·µ¬¤ËÄêµÁ¤¹¤ë¤Ë¤Ï¡¢
-\fRoption space\fP ʸ¤ò»ÈÍѤ·¤Þ¤¹:
+�٥�����ץ����Ǽ����륪�ץ������֤����������ˤϡ�
+\fRoption space\fP ʸ����Ѥ��ޤ�:
.PP
.B option
.B space
.I name
.B ;
.PP
-¤³¤Îʸ½ñ¤Ë¤³¤ì¤Þ¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢
-¤³¤Î name ¤Ï¡¢¥ª¥×¥·¥ç¥óÄêµÁ¤Ç»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-Î㤨¤Ð:
+����ʸ��ˤ���ޤǽ�Ƥ���褦�ˡ�
+���� name �ϡ����ץ��������ǻ��Ѥ��뤳�Ȥ��Ǥ��ޤ���
+�㤨��:
.nf
option space SUNW;
option SUNW.root-path code 4 = text;
.fi
-°ìÅÙ¡¢¥ª¥×¥·¥ç¥ó¶õ´Ö¤È¥ª¥×¥·¥ç¥ó¤Î½ñ¼°¤òÄêµÁ¤·¤¿¤顢
-¤½¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ÎÃͤòÄêµÁ¤¹¤ë¥¹¥³¡¼¥×¤òÀßÄê¤Ç¤¡¢
-¤½¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ò¤¤¤Ä»È¤¦¤«¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-Î㤨¤Ð¡¢2 ¤Ä¤Î°Û¤Ê¤ë¥¯¥é¥¹¤Î¥¯¥é¥¤¥¢¥ó¥È¤ò°·¤¤¤¿¤¤¤È¤·¤Þ¤·¤ç¤¦¡£
-Á°½Ò¤ÎÎã¤Ç¼¨¤·¤¿¥ª¥×¥·¥ç¥ó¶õ´Ö¤ÎÄêµÁ¤ò»È¤Ã¤Æ¡¢°Ê²¼¤Î¤è¤¦¤Ë¡¢
-¥¯¥é¥¤¥¢¥ó¥È¤«¤éÁ÷¤é¤ì¤Æ¤¤¿ vendor-class-identifier ¥ª¥×¥·¥ç¥ó¤Ë´ð¤Å¤¤¤Æ¡¢
-°Û¤Ê¤ë¥ª¥×¥·¥ç¥ó¤ÎÃͤò°Û¤Ê¤ë¥¯¥é¥¤¥¢¥ó¥È¤ËÁ÷½Ð¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
+���١����ץ������֤ȥ��ץ����ν���������顢
+�����Υ��ץ������ͤ�������륹�����פ�����Ǥ���
+�����Υ��ץ����ĻȤ�������ꤹ�뤳�Ȥ��Ǥ��ޤ���
+�㤨�С�2 �Ĥΰۤʤ륯�饹�Υ��饤����Ȥ������Ȥ��ޤ��礦��
+���Ҥ���Ǽ��������ץ������֤������Ȥäơ��ʲ��Τ褦�ˡ�
+���饤����Ȥ��������Ƥ��� vendor-class-identifier ���ץ����˴�Ť��ơ�
+�ۤʤ륪�ץ������ͤ�ۤʤ륯�饤����Ȥ����Ф��뤳�Ȥ��Ǥ��ޤ���
.PP
.nf
class "vendor-classes" {
}
.fi
.PP
-Àè¤ÎÎã¤Ç¸«¤¿¤è¤¦¤Ë¡¢Ä̾ï¤Î¥¹¥³¡¼¥×¥ë¡¼¥ë¤òŬÍѤ¹¤ë¤³¤È¤Ç¡¢
-¥°¥í¡¼¥Ð¥ë¤ÊÃͤò¥°¥í¡¼¥Ð¥ë¥¹¥³¡¼¥×Ãæ¤ËÄêµÁ¤Ç¤¡¢
-ÆÃÄê¤Î¥¯¥é¥¹¤Ë¸ÇͤÎÃͤÀ¤±¤ò¥í¡¼¥«¥ë¥¹¥³¡¼¥×¤ËÄêµÁ¤Ç¤¤Þ¤¹¡£
-\fBvendor-option-space\fR Àë¸À¤ò»È¤¦¤³¤È¤Ç¡¢
+�����Ǹ����褦�ˡ��̾�Υ������ץ롼���Ŭ�Ѥ��뤳�Ȥǡ�
+�������Х���ͤ����Х륹�������������Ǥ���
+����Υ��饹�˸�ͭ���ͤ�����������륹�����פ�����Ǥ��ޤ���
+\fBvendor-option-space\fR �����Ȥ����Ȥǡ�
.B vendor-encapsulated-options
-¥ª¥×¥·¥ç¥ó¤ò¹½À®¤¹¤ë¤Î¤Ë¡¢SUNW ¥ª¥×¥·¥ç¥ó¶õ´ÖÆâ¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤褦
-DHCP ¥µ¡¼¥Ð¤Ë»Ø¼¨¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
-.SH ´ØÏ¢¹àÌÜ
-dhclient.conf(5), dhcp-eval(5),
+���ץ�����������Τˡ�SUNW ���ץ���������Υ��ץ�����Ȥ��褦
+DHCP �����Ф˻ؼ����뤳�Ȥ��Ǥ��ޤ���
+.SH ��Ϣ����
+dhclient.conf(5), dhcp-eval(5),
dhclient(8), RFC2132, RFC2131
-.SH ºî¼Ô
+.SH ���
Internet Systems Consortium DHCP Distribution
-¤Ï¡¢Vixie Labs ¤È¤Î·ÀÌó¤Î¤â¤È¤Ç¡¢Ted Lemon ¤¬µ½Ò¤·¤Þ¤·¤¿¡£
-ËÜ¥×¥í¥¸¥§¥¯¥È¤Î»ñ¶â¤Ï¡¢Internet Systems Consortium ¤¬Ä󶡤·¤Þ¤·¤¿¡£
-Internet Systems Consortium ¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¡¢
+�ϡ�Vixie Labs �Ȥη���Τ�Ȥǡ�Ted Lemon �����Ҥ��ޤ�����
+�ܥץ��������Ȥλ��ϡ�Internet Systems Consortium �����ޤ�����
+Internet Systems Consortium �˴ؤ������ϡ�
.B https://www.isc.org
-¤Ë¤¢¤ê¤Þ¤¹¡£
+�ˤ���ޤ���
/*
* Copyright (c) 1983, 1989, 1993
* The Regents of the University of California. All rights reserved.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
- *
+ *
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
#endif
/* This macro is defined to avoid unused-but-set-variable warning
- * that is enabled in gcc 4.6
+ * that is enabled in gcc 4.6
*/
#define IGNORE_UNUSED(x) { x = x; }
void trace_outpacket_input (trace_type_t *, unsigned, char *);
void trace_outpacket_stop (trace_type_t *);
ssize_t trace_packet_send (struct interface_info *,
- struct packet *, struct dhcp_packet *, size_t,
+ struct packet *, struct dhcp_packet *, size_t,
struct in_addr,
struct sockaddr_in *, struct hardware *);
void trace_icmp_input_input (trace_type_t *, unsigned, char *);
#define VENDOR_ISC_SUBOPTIONS 2495
#endif /* DHCP_H */
-
#define FIND_POND6_PERCENT(count, percent) \
((count) > (POND_TRACK_MAX / 100) ? \
((count) / 100) * (percent) : ((count) * (percent)) / 100)
-
};
/* its list ... */
-
+
struct iaddrmatchlist {
struct iaddrmatchlist *next;
struct iaddrmatch match;
struct iaddrcidrnetlist *next;
struct iaddrcidrnet cidrnet;
};
-
/* ldap_casa.h
-
+
Definition for CASA modules... */
/* Copyright (c) 2006 Novell, Inc.
* All rights reserved.
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * 1.Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2.Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3.Neither the name of ISC, ISC DHCP, nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * 1.Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2.Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3.Neither the name of ISC, ISC DHCP, nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED BY INTERNET SYSTEMS CONSORTIUM AND CONTRIBUTORS
+ * THIS SOFTWARE IS PROVIDED BY INTERNET SYSTEMS CONSORTIUM AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ISC OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ISC OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
* This file was written by S Kalyanasundaram <skalyanasundaram@novell.com>
SSCS_SECRET_ID_T *sharedSecretID,
uint32_t *credentialType,
void *credential,
- SSCS_EXT_T *ext
+ SSCS_EXT_T *ext
);
SSCS_TYPEDEF_LIBCALL(int, CASA_SetCredential_T)
(
#endif /* __LDAP_CASA_H__ */
#endif /* LDAP_CASA_AUTH */
-
u_int16_t head, tail; /* Buffers are organized in a ring. */
char buf [OMAPI_BUF_SIZE]; /* The actual buffer is included in
the buffer data structure. */
-} omapi_buffer_t;
+} omapi_buffer_t;
#define BUFFER_BYTES_FREE(x) \
((x) -> tail > (x) -> head \
isc_result_t omapi_connection_put_uint32 (omapi_object_t *, u_int32_t);
isc_result_t omapi_connection_get_uint16 (omapi_object_t *, u_int16_t *);
isc_result_t omapi_connection_put_uint16 (omapi_object_t *, u_int32_t);
-
typedef struct __omapi_object_type_t {
const char *name;
struct __omapi_object_type_t *next;
-
+
isc_result_t (*set_value) (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
omapi_typed_data_t *);
omapi_typed_data_t *);
isc_result_t omapi_protocol_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_protocol_stuff_values (omapi_object_t *,
omapi_object_t *,
omapi_object_t *);
isc_result_t omapi_protocol_listener_get_value (omapi_object_t *,
omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_protocol_listener_destroy (omapi_object_t *,
const char *, int);
isc_result_t omapi_protocol_listener_signal (omapi_object_t *,
omapi_typed_data_t *);
isc_result_t omapi_connection_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_connection_destroy (omapi_object_t *, const char *, int);
isc_result_t omapi_connection_signal_handler (omapi_object_t *,
const char *, va_list);
omapi_typed_data_t *);
isc_result_t omapi_listener_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_listener_destroy (omapi_object_t *, const char *, int);
isc_result_t omapi_listener_signal_handler (omapi_object_t *,
const char *, va_list);
omapi_data_string_t *,
omapi_typed_data_t *);
isc_result_t omapi_io_get_value (omapi_object_t *, omapi_object_t *,
- omapi_data_string_t *, omapi_value_t **);
+ omapi_data_string_t *, omapi_value_t **);
isc_result_t omapi_io_destroy (omapi_object_t *, const char *, int);
isc_result_t omapi_io_signal_handler (omapi_object_t *, const char *, va_list);
isc_result_t omapi_io_stuff_values (omapi_object_t *,
omapi_typed_data_t *);
isc_result_t omapi_generic_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_generic_destroy (omapi_object_t *, const char *, int);
isc_result_t omapi_generic_signal_handler (omapi_object_t *,
const char *, va_list);
omapi_typed_data_t *);
isc_result_t omapi_message_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_message_destroy (omapi_object_t *, const char *, int);
isc_result_t omapi_message_signal_handler (omapi_object_t *,
const char *, va_list);
omapi_object_t *);
isc_result_t omapi_auth_key_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_auth_key_stuff_values (omapi_object_t *,
omapi_object_t *,
omapi_object_t *);
const char *, const char *);
isc_result_t omapi_get_value (omapi_object_t *, omapi_object_t *,
omapi_data_string_t *,
- omapi_value_t **);
+ omapi_value_t **);
isc_result_t omapi_get_value_str (omapi_object_t *, omapi_object_t *,
- const char *, omapi_value_t **);
+ const char *, omapi_value_t **);
isc_result_t omapi_stuff_values (omapi_object_t *,
omapi_object_t *,
omapi_object_t *);
typedef struct __omapi_protocol_object {
OMAPI_OBJECT_PREAMBLE;
- u_int32_t header_size;
+ u_int32_t header_size;
u_int32_t protocol_version;
u_int32_t next_xid;
#ifdef INCLUDE_OLD_DHCP_ISC_ERROR_CODES
#define ISC_R_HOSTUNKNOWN DHCP_R_HOSTUNKNOWN
#define ISC_R_VERSIONMISMATCH DHCP_R_VERSIONMISMATCH
-#define ISC_R_PROTOCOLERROR DHCP_R_PROTOCOLERROR
-#define ISC_R_INVALIDARG DHCP_R_INVALIDARG
-#define ISC_R_NOTYET DHCP_R_NOTYET
-#define ISC_R_UNCHANGED DHCP_R_UNCHANGED
-#define ISC_R_KEYCONFLICT DHCP_R_KEYCONFLICT
-#define ISC_R_BADPARSE DHCP_R_BADPARSE
-#define ISC_R_NOKEYS DHCP_R_NOKEYS
-#define ISC_R_KEY_UNKNOWN DHCP_R_KEY_UNKNOWN
-#define ISC_R_INVALIDKEY DHCP_R_INVALIDKEY
-#define ISC_R_INCOMPLETE DHCP_R_INCOMPLETE
-#define ISC_R_FORMERR DHCP_R_FORMERR
-#define ISC_R_SERVFAIL DHCP_R_SERVFAIL
-#define ISC_R_NXDOMAIN DHCP_R_NXDOMAIN
-#define ISC_R_NOTIMPL DHCP_R_NOTIMPL
-#define ISC_R_REFUSED DHCP_R_REFUSED
-#define ISC_R_YXDOMAIN DHCP_R_YXDOMAIN
-#define ISC_R_YXRRSET DHCP_R_YXRRSET
-#define ISC_R_NXRRSET DHCP_R_NXRRSET
-#define ISC_R_NOTAUTH DHCP_R_NOTAUTH
-#define ISC_R_NOTZONE DHCP_R_NOTZONE
-#define ISC_R_BADSIG DHCP_R_BADSIG
-#define ISC_R_BADKEY DHCP_R_BADKEY
-#define ISC_R_BADTIME DHCP_R_BADTIME
-#define ISC_R_NOROOTZONE DHCP_R_NOROOTZONE
-#define ISC_R_DESTADDRREQ DHCP_R_DESTADDRREQ
-#define ISC_R_CROSSZONE DHCP_R_CROSSZONE
-#define ISC_R_NO_TSIG DHCP_R_NO_TSIG
-#define ISC_R_NOT_EQUAL DHCP_R_NOT_EQUAL
-#define ISC_R_CONNRESET DHCP_R_CONNRESET
-#define ISC_R_UNKNOWNATTRIBUTE DHCP_R_UNKNOWNATTRIBUTE
+#define ISC_R_PROTOCOLERROR DHCP_R_PROTOCOLERROR
+#define ISC_R_INVALIDARG DHCP_R_INVALIDARG
+#define ISC_R_NOTYET DHCP_R_NOTYET
+#define ISC_R_UNCHANGED DHCP_R_UNCHANGED
+#define ISC_R_KEYCONFLICT DHCP_R_KEYCONFLICT
+#define ISC_R_BADPARSE DHCP_R_BADPARSE
+#define ISC_R_NOKEYS DHCP_R_NOKEYS
+#define ISC_R_KEY_UNKNOWN DHCP_R_KEY_UNKNOWN
+#define ISC_R_INVALIDKEY DHCP_R_INVALIDKEY
+#define ISC_R_INCOMPLETE DHCP_R_INCOMPLETE
+#define ISC_R_FORMERR DHCP_R_FORMERR
+#define ISC_R_SERVFAIL DHCP_R_SERVFAIL
+#define ISC_R_NXDOMAIN DHCP_R_NXDOMAIN
+#define ISC_R_NOTIMPL DHCP_R_NOTIMPL
+#define ISC_R_REFUSED DHCP_R_REFUSED
+#define ISC_R_YXDOMAIN DHCP_R_YXDOMAIN
+#define ISC_R_YXRRSET DHCP_R_YXRRSET
+#define ISC_R_NXRRSET DHCP_R_NXRRSET
+#define ISC_R_NOTAUTH DHCP_R_NOTAUTH
+#define ISC_R_NOTZONE DHCP_R_NOTZONE
+#define ISC_R_BADSIG DHCP_R_BADSIG
+#define ISC_R_BADKEY DHCP_R_BADKEY
+#define ISC_R_BADTIME DHCP_R_BADTIME
+#define ISC_R_NOROOTZONE DHCP_R_NOROOTZONE
+#define ISC_R_DESTADDRREQ DHCP_R_DESTADDRREQ
+#define ISC_R_CROSSZONE DHCP_R_CROSSZONE
+#define ISC_R_NO_TSIG DHCP_R_NO_TSIG
+#define ISC_R_NOT_EQUAL DHCP_R_NOT_EQUAL
+#define ISC_R_CONNRESET DHCP_R_CONNRESET
+#define ISC_R_UNKNOWNATTRIBUTE DHCP_R_UNKNOWNATTRIBUTE
#endif
isc_result_t
#define TRACEFILE_MAGIC 0x64484370UL /* dHCp */
#define TRACEFILE_VERSION 1
-/* The first thing in a trace file is the header, which basically just
+/* The first thing in a trace file is the header, which basically just
defines the version of the file. */
typedef struct {
u_int32_t magic; /* Magic number for trace file. */
const char *name;
unsigned width;
struct enumeration_value *values;
-};
+};
/* Tree node types... */
#define TREE_CONCAT 1
XXX ephemeral by default and be made a persistent reference explicitly. */
/* XXX on the other hand, it seems to work pretty nicely, so maybe the
XXX above comment is meshuggenah. */
-/* XXX I think the above comment tries to say this:
+/* XXX I think the above comment tries to say this:
XXX http://tinyurl.com/2tjqre */
/* A string of data bytes, possibly accompanied by a larger buffer. */
} data;
int flags;
# define EXPR_EPHEMERAL 1
-};
+};
/* DNS host entry structure... */
struct dns_host_entry {
if (!cfile->ugflag) {
if (c == EOL) {
- if (cfile->cur_line == cfile->line1) {
+ if (cfile->cur_line == cfile->line1) {
cfile->cur_line = cfile->line2;
cfile->prev_line = cfile->line1;
} else {
/*
* GENERAL NOTE ABOUT TOKENS
*
- * We normally only want non-whitespace tokens. There are some
+ * We normally only want non-whitespace tokens. There are some
* circumstances where we *do* want to see whitespace (for example
* when parsing IPv6 addresses).
*
- * Generally we use the next_token() function to read tokens. This
+ * Generally we use the next_token() function to read tokens. This
* in turn calls get_next_token, which does *not* return tokens for
* whitespace. Rather, it skips these.
*
p = cfile->lpos;
c = get_char(cfile);
- if (!((c == '\n') && cfile->eol_token) &&
+ if (!((c == '\n') && cfile->eol_token) &&
isascii(c) && isspace(c)) {
ttok = read_whitespace(c, cfile);
break;
* The get_next_token() function consumes the next token and
* returns it to the caller.
*
- * Since the code is almost the same for "normal" and "raw"
+ * Since the code is almost the same for "normal" and "raw"
* input, we pass a flag to alter the way it works.
*/
-static enum dhcp_token
-get_next_token(const char **rval, unsigned *rlen,
+static enum dhcp_token
+get_next_token(const char **rval, unsigned *rlen,
struct parse *cfile, isc_boolean_t raw) {
int rv;
cfile->token_line = cfile->cur_line;
}
}
-
+
if (rval)
*rval = cfile->tval;
if (rlen)
/*
* Get the next token from cfile and return it.
*
- * If rval is non-NULL, set the pointer it contains to
+ * If rval is non-NULL, set the pointer it contains to
* the contents of the token.
*
- * If rlen is non-NULL, set the integer it contains to
+ * If rlen is non-NULL, set the integer it contains to
* the length of the token.
*/
* The do_peek_token() function checks the next token without
* consuming it, and returns it to the caller.
*
- * Since the code is almost the same for "normal" and "raw"
- * input, we pass a flag to alter the way it works. (See the
+ * Since the code is almost the same for "normal" and "raw"
+ * input, we pass a flag to alter the way it works. (See the
* warning in the GENERAL NOTES ABOUT TOKENS above though.)
*/
/*
- * Get the next token from cfile and return it, leaving it for a
+ * Get the next token from cfile and return it, leaving it for a
* subsequent call to next_token().
*
* Note that it WILL consume whitespace tokens.
*
- * If rval is non-NULL, set the pointer it contains to
+ * If rval is non-NULL, set the pointer it contains to
* the contents of the token.
*
- * If rlen is non-NULL, set the integer it contains to
+ * If rlen is non-NULL, set the integer it contains to
* the length of the token.
*/
c = get_char(cfile);
if (c == EOF)
return END_OF_FILE;
- } while (!((c == '\n') && cfile->eol_token) &&
+ } while (!((c == '\n') && cfile->eol_token) &&
isascii(c) && isspace(c));
/*
goto end_read;
default:
- parse_error(cfile,
+ parse_error(cfile,
"read_number(): impossible case");
}
}
break;
case 'e':
- if (isascii(atom [1]) &&
+ if (isascii(atom [1]) &&
tolower((unsigned char)atom[1]) == 'x') {
if (!strcasecmp(atom + 2, "tract-int"))
return EXTRACT_INT;
}
break;
case 'i':
- if (!strcasecmp(atom+1, "a-na"))
+ if (!strcasecmp(atom+1, "a-na"))
return IA_NA;
- if (!strcasecmp(atom+1, "a-ta"))
+ if (!strcasecmp(atom+1, "a-ta"))
return IA_TA;
- if (!strcasecmp(atom+1, "a-pd"))
+ if (!strcasecmp(atom+1, "a-pd"))
return IA_PD;
- if (!strcasecmp(atom+1, "aaddr"))
+ if (!strcasecmp(atom+1, "aaddr"))
return IAADDR;
- if (!strcasecmp(atom+1, "aprefix"))
+ if (!strcasecmp(atom+1, "aprefix"))
return IAPREFIX;
if (!strcasecmp(atom + 1, "nclude"))
return INCLUDE;
case 's':
if (!strcasecmp(atom + 1, "cript"))
return SCRIPT;
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'e') {
if (!strcasecmp(atom + 2, "arch"))
return SEARCH;
- if (isascii(atom[2]) &&
+ if (isascii(atom[2]) &&
tolower((unsigned char)atom[2]) == 'c') {
if (!strncasecmp(atom + 3, "ond", 3)) {
if (!strcasecmp(atom + 6, "ary"))
return TOKEN_SERVER;
if (atom[6] == '-') {
if (!strcasecmp(atom + 7,
- "duid"))
+ "duid"))
return SERVER_DUID;
if (!strcasecmp(atom + 7,
"name"))
return TOKEN_SET;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'h') {
if (!strcasecmp(atom + 2, "ared-network"))
return SHARED_NETWORK;
return SHUTDOWN;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'i') {
if (!strcasecmp(atom + 2, "addr"))
return SIADDR;
return SIZE;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'p') {
- if (isascii(atom[2]) &&
+ if (isascii(atom[2]) &&
tolower((unsigned char)atom[2]) == 'a') {
if (!strcasecmp(atom + 3, "ce"))
return SPACE;
return SPLIT;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 't') {
- if (isascii(atom[2]) &&
+ if (isascii(atom[2]) &&
tolower((unsigned char)atom[2]) == 'a') {
if (!strncasecmp(atom + 3, "rt", 2)) {
if (!strcasecmp(atom + 5, "s"))
return SUBSTRING;
break;
}
- if (isascii(atom[1]) &&
+ if (isascii(atom[1]) &&
tolower((unsigned char)atom[1]) == 'u') {
if (!strcasecmp(atom + 2, "ffix"))
return SUFFIX;
}
return dfv;
}
-
read_conf_file(cfile, val, type);
parse_semi(cfile);
return 1;
-
+
case HOST:
skip_token(&val, NULL, cfile);
if (type != HOST_DECL && type != CLASS_DECL)
failover_once = ISC_FALSE;
skip_to_semi(cfile);
break;
-
+
case SERVER_DUID:
if (local_family != AF_INET6)
goto unknown;
}
if (mapSize(et) == 0)
return declaration;
-
+
et->skip = ISC_TRUE;
cfile->issue_counter++;
mapSet(cfile->stack[cfile->stack_top], et, "statement");
}
/*!
- *
+ *
* \brief Parse allow and deny statements
*
* This function handles the common processing code for permit and deny
* statements in the parse_pool_statement and parse_pool6_statement functions.
- *
+ *
* The allow or deny token should already be consumed, this function expects
* one of the following:
* known-clients;
negative = ISC_TRUE;
alias = makeString(-1, "unknown clients");
break;
-
+
case KNOWN_CLIENTS:
need_clients = ISC_FALSE;
permit = CLASS_KNOWN;
permit = CLASS_KNOWN;
alias = makeString(-1, "known clients");
break;
-
+
case AUTHENTICATED:
permit = CLASS_ALL;
alias = makeString(-1, "authenticated clients");
comment = createComment("/// [un]authenticated-clients is "
"not supported by ISC DHCP and Kea");
break;
-
+
case UNAUTHENTICATED:
permit = CLASS_ALL;
alias = makeString(-1, "unauthenticated clients");
permit = CLASS_ALL;
alias = makeString(-1, "all clients");
break;
-
+
case DYNAMIC:
/* bootp is not supported by Kea so the dynamic bootp
* client set is the empty set. */
skip_token(&val, NULL, cfile);
get_permit(cfile, prohibit);
break;
-
+
case RBRACE:
skip_token(&val, NULL, cfile);
done = ISC_TRUE;
host_id = makeString(-1, val);
appendString(host_id, " ");
if (token == V6RELOPT) {
- token = next_token(&val, NULL, cfile);
+ token = next_token(&val, NULL, cfile);
if (token != NUMBER)
parse_error(cfile,
if (relays > MAX_V6RELAY_HOPS)
relays = MAX_V6RELAY_HOPS + 1;
} else if (token != OPTION)
- parse_error(cfile,
+ parse_error(cfile,
"host-identifier must be an option"
" or v6relopt");
known = ISC_FALSE;
* in fact:
* (CLASS) NAME(STRING) LBRACE ... RBRACE
* (SUBCLASS) SUPER(STRING) DATA/HASH(STRING | <hexa>) [BRACE ... RBRACE]
- *
+ *
* class "name" { MATCH IF <boolean-expr> }: direct: belong when true
* class "name" { MATCH <data-expr> }: indirect: use subclasses
* class "name" { MATCH <data-expr> SPAWN WITH <data-expr> }: indirect:
isc_boolean_t lose = ISC_FALSE;
isc_boolean_t matchedonce = ISC_FALSE;
isc_boolean_t submatchedonce = ISC_FALSE;
-
+
token = next_token(&val, NULL, cfile);
if (token != STRING)
parse_error(cfile, "Expecting class name");
}
}
}
-
+
/* Note the class declaration in the enclosing group */
if (group_classes != classes) {
struct element *gc;
token = peek_token(&val, NULL, cfile);
if (is_identifier(token) || token == STRING) {
skip_token(&val, NULL, cfile);
-
+
name = makeString(-1, val);
if (!name)
parse_error(cfile, "no memory for group decl name %s",
val);
- }
+ }
parse_lbrace(cfile);
| ip-address6 SLASH number SEMI
| ip-address6 [SLASH number] TEMPORARY SEMI */
-void
+void
parse_address_range6(struct parse *cfile, int type, size_t where)
{
struct string *low, *high, *range;
range = allocString();
concatString(range, low);
- /*
+ /*
* See if we we're using range or CIDR notation or TEMPORARY
*/
token = peek_token(&val, NULL, cfile);
appendString(range, " ");
appendString(range, val);
skip_token(NULL, NULL, cfile);
- }
+ }
} else if (token == TEMPORARY) {
/*
* temporary (RFC 4941)
skip_token(NULL, NULL, cfile);
} else {
/*
- * No '/', so we are looking for the end address of
+ * No '/', so we are looking for the end address of
* the IPv6 pool.
*/
high = parse_ip6_addr_txt(cfile);
/* prefix6-declaration :== ip-address6 ip-address6 SLASH number SEMI */
-void
+void
parse_prefix6(struct parse *cfile, int type, size_t where)
{
struct string *lo, *hi;
skip_token(NULL, NULL, cfile);
get_permit(cfile, prohibit);
break;
-
+
case RBRACE:
skip_token(&val, NULL, cfile);
done = ISC_TRUE;
* server-duid ll ethernet|ieee802|fddi 00:16:6F:49:7D:9B;
* server-duid en 2495 "enterprise-specific-identifier-1234";
*/
-void
+void
parse_server_duid_conf(struct parse *cfile) {
enum dhcp_token token;
const char *val;
*/
token = next_token(&val, NULL, cfile);
- /*
+ /*
* Enterprise is the easiest - enterprise number and raw data
* are required.
*/
mapSet(duid, item, "identifier");
}
- /*
+ /*
* Next easiest is the link-layer DUID. It consists only of
* the LL directive, or optionally the specific value to use.
*
}
}
- /*
+ /*
* Finally the link-layer DUID plus time. It consists only of
* the LLT directive, or optionally the specific value to use.
*
*
* In this case, they have to put in the complete value.
*
- * This also works for existing DUID types of course.
+ * This also works for existing DUID types of course.
*/
else if (token == NUMBER) {
item = createString(makeString(-1, val));
case 'I': {
/* IPv4 address to text */
- char buf[40 /* INET_ADDRSTRLEN == 26 */];
+ char buf[40 /* INET_ADDRSTRLEN == 26 */];
assert(l > 3);
assert(inet_ntop(AF_INET, s, buf, sizeof(buf)) != NULL);
assert(0);
}
}
-
+
struct string *
makeStringArray(int l, const char *s, char fmt)
{
e->type = ELEMENT_INTEGER;
e->value.int_value = i;
}
-
+
void
resetDouble(struct element *e, double d)
{
TAILQ_INSERT_HEAD(&l->value.list_value, e);
} else {
struct element *prev;
-
+
prev = TAILQ_FIRST(&l->value.list_value);
assert(prev != NULL);
assert(prev->key == NULL);
} else
for (sp = 0; sp < indent; ++sp)
fprintf(fp, " ");
-}
+}
void
printList(FILE *fp, const struct list *l, isc_boolean_t skip, unsigned indent)
* data_expression :== SUBSTRING LPAREN data-expression COMMA
* numeric-expression COMMA
* numeric-expression RPAREN |
- * CONCAT LPAREN data-expression COMMA
+ * CONCAT LPAREN data-expression COMMA
* data-expression RPAREN
* SUFFIX LPAREN data_expression COMMA
* numeric-expression RPAREN |
fmt = "%x";
break;
}
-
+
for (i = 0; i < buf->length; i++) {
uint8_t val;
char num[4];
if ((buf->length % 2) != 0)
return expr;
-
+
switch (b) {
case 8:
fmt = "%o";
fmt = "%x";
break;
}
-
+
for (i = 0; i < buf->length; i += 2) {
uint16_t val;
char num[8];
-
+
if (i != 0)
concatString(r, sep);
memcpy(&val, buf->content + i, 2);
if ((buf->length % 4) != 0)
return expr;
-
+
switch (b) {
case 8:
fmt = "%llo";
fmt = "%llx";
break;
}
-
+
for (i = 0; i < buf->length; i += 4) {
uint32_t val;
char num[40];
-
+
if (i != 0)
concatString(r, sep);
memcpy(&val, buf->content + i, 4);
static const char use_noarg[] = "No argument for command: %s";
static const char bad_resolve[] = "Bad -r argument: %s";
-int
+int
main(int argc, char **argv) {
int i, fd;
char *inbuf = NULL;
if (++i == argc)
usage(use_noarg, argv[i - 1]);
output_file = argv[i];
- } else
+ } else
usage("Unknown command: %s", argv[i]);
}
char mbuf[1024];
char fbuf[1024];
unsigned i, lix;
-
+
snprintf(fbuf, sizeof(fbuf), "%s line %d: %s",
cfile->tlname, cfile->lexline, fmt);
-
+
va_start(list, fmt);
vsnprintf(mbuf, sizeof(mbuf), fbuf, list);
va_end(list);
#include <time.h>
/* Resolution of FQDNs into IPv4 addresses */
-enum resolve {
+enum resolve {
perform = 0, /* resolve */
fatal, /* raise a fatal error */
pass /* pass the string wth a warning */
log_threshold:
comment = createComment("/// Reference Kea #222");
TAILQ_INSERT_TAIL(&comments, comment);
- break;
+ break;
case 84: /* log-threshold-high */
comment = createComment("/// log-threshold-high is not (yet?) "
statement foo bar { }
statement foo bar { statement { } }
statement}
-
+
...et cetera. */
void
skip_to_rbrace(struct parse *cfile, int brace_count)
const char *val;
enum dhcp_token token;
struct string *s = NULL;
-
+
/* Read a dotted hostname... */
do {
/* Read a token, which should be an identifier. */
/* ip-addr-or-hostname :== ip-address | hostname
ip-address :== NUMBER DOT NUMBER DOT NUMBER DOT NUMBER
-
+
Parse an ip address or a hostname.
Note that RFC1123 permits hostnames to consist of all digits,
return makeStringExt(bin->length, bin->content, 'I');
}
-
+
/*
* ip-address :== NUMBER DOT NUMBER DOT NUMBER DOT NUMBER
*/
unsigned len = sizeof(addr);
return parse_numeric_aggregate(cfile, addr, &len, DOT, 10, 8);
-}
+}
/*
* Return true if every character in the string is hexadecimal.
*
* See section 2.2 of RFC 1884 for details.
*
- * We are lazy for this. We pull numbers, names, colons, and dots
+ * We are lazy for this. We pull numbers, names, colons, and dots
* together and then throw the resulting string at the inet_pton()
* function.
*/
int v6_len;
/*
- * First token is non-raw. This way we eat any whitespace before
+ * First token is non-raw. This way we eat any whitespace before
* our IPv6 address begins, like one would expect.
*/
token = peek_token(&val, NULL, cfile);
if (!is_identifier(token))
parse_error(cfile,
"expecting identifier after option keyword.");
-
+
uname = strdup(val);
if (!uname)
parse_error(cfile, "no memory for uname information.");
universe->old = strdup(val);
universe->name = universe->old;
push_space(universe);
-
+
do {
token = next_token(&val, NULL, cfile);
switch(token) {
struct string *saved;
struct string *format;
struct element *optdef;
-
+
if (option->space->status == special) {
parse_vendor_code_definition(cfile, option);
return;
struct string *t;
struct string *r;
isc_boolean_t valid_base64;
-
+
r = allocString();
/* It's possible for a + or a / to cause a base64 quantity to be
}
if (!*lose)
return ISC_TRUE;
-
+
return ISC_FALSE;
}
case ON:
skip_token(&val, NULL, cfile);
return parse_on_statement(result, cfile, lose);
-
+
case SWITCH:
skip_token(&val, NULL, cfile);
return parse_switch_statement(result, cfile, lose);
cfile->issue_counter++;
mapSet(result, st, "default");
return ISC_TRUE;
-
+
case DEFINE:
case TOKEN_SET:
skip_token(&val, NULL, cfile);
if (!parse_zone(zone, cfile))
goto badzone;
return ISC_TRUE;
-
+
/* Also not really a statement, but same idea as above. */
case KEY:
skip_token(&val, NULL, cfile);
values = createList();
mapSet(zone, values, "primary");
goto consemup;
-
+
case SECONDARY:
if (mapContains(zone, "secondary"))
parse_error(cfile, "more than one secondary.");
mapSet(zone, createString(key_name), "key");
parse_semi(cfile);
break;
-
+
default:
done = 1;
break;
if (!s)
appendString(alg, ".SIG-ALG.REG.INT.");
/* If there is no trailing '.', hack one in. */
- else
+ else
appendString(alg, ".");
mapSet(key, createString(alg), "algorithm");
break;
case COMMIT:
case RELEASE:
case TRANSMISSION:
- appendString(cond, val);
+ appendString(cond, val);
break;
default:
if (token == OR)
appendString(cond, " or ");
} while (token == OR);
-
+
mapSet(statement, createString(cond), "condition");
/* Semicolon means no statements. */
}
mapSet(statement, branch, "else");
}
-
+
return ISC_TRUE;
}
* boolean-expression OR boolean-expression
* EXISTS OPTION-NAME
*/
-
+
isc_boolean_t
parse_boolean_expression(struct element *expr,
struct parse *cfile,
* data_expression :== SUBSTRING LPAREN data-expression COMMA
* numeric-expression COMMA
* numeric-expression RPAREN |
- * CONCAT LPAREN data-expression COMMA
+ * CONCAT LPAREN data-expression COMMA
* data-expression RPAREN
* SUFFIX LPAREN data_expression COMMA
* numeric-expression RPAREN |
if (token != RPAREN)
goto norparen;
break;
-
+
case STRING:
skip_token(&val, &len, cfile);
resetString(expr, makeString(len, val));
break;
case EXTRACT_INT:
- skip_token(&val, NULL, cfile);
+ skip_token(&val, NULL, cfile);
nexp = createMap();
nexp->skip = ISC_TRUE;
cfile->issue_counter++;
if (token != RPAREN)
parse_error(cfile, "right parenthesis expected.");
break;
-
+
case ENCODE_INT:
- skip_token(&val, NULL, cfile);
+ skip_token(&val, NULL, cfile);
nexp = createMap();
nexp->skip = ISC_TRUE;
cfile->issue_counter++;
if (token != RPAREN)
parse_error(cfile, "right parenthesis expected.");
break;
-
+
case NUMBER:
/* If we're in a numeric context, this should just be a
number, by itself. */
nexp->skip = ISC_TRUE;
cfile->issue_counter++;
mapSet(expr, nexp, "v6relay");
-
+
token = next_token(&val, NULL, cfile);
if (token != LPAREN)
goto nolparen;
resetBy(expr, rhs);
return ISC_TRUE;
}
-
+
lhs = rhs;
rhs = NULL;
binop = next_op;
rhs_context = expression_context(rhs);
lhs_context = expression_context(lhs);
- if ((rhs_context != context_any) &&
+ if ((rhs_context != context_any) &&
(lhs_context != context_any) &&
(rhs_context != lhs_context))
parse_error(cfile, "illegal expression relating "
/* Now combine the LHS and the RHS using binop. */
tmp = createMap();
tmp->skip = ISC_TRUE;
-
+
/* Store the LHS and RHS. */
mapSet(tmp, lhs, "left");
mapSet(tmp, rhs, "right");
lhs = createMap();
mapSet(lhs, tmp, binop_name);
-
+
tmp = NULL;
rhs = NULL;
binop = next_op;
goto new_rhs;
-}
+}
/* Escape embedded commas, detected heading and leading space */
struct string *
if ((token == SEMI) && (option->format[0] != 'Z')) {
/* Eat the semicolon... */
/*
- * XXXSK: I'm not sure why we should ever get here, but we
+ * XXXSK: I'm not sure why we should ever get here, but we
* do during our startup. This confuses things if
* we are parsing a zero-length option, so don't
* eat the semicolon token in that case.
r = makeStringExt(s->length, s->content, 'X');
data = createString(r);
- mapSet(opt_data, data, "data");
+ mapSet(opt_data, data, "data");
} else if ((expr->type == ELEMENT_MAP) &&
mapContains(expr, "const-data")) {
struct element *value;
parse_error(cfile, "Bad format '%c' in parse_config_data.",
option->format[0]);
}
-
+
mapSet(expr, elem, "value");
return ISC_TRUE;
if ((token == SEMI) && (option->format[0] != 'Z')) {
/* Eat the semicolon... */
/*
- * XXXSK: I'm not sure why we should ever get here, but we
+ * XXXSK: I'm not sure why we should ever get here, but we
* do during our startup. This confuses things if
* we are parsing a zero-length option, so don't
* eat the semicolon token in that case.
return print_numeric_expression(expr, lose);
if (expr->type == ELEMENT_STRING)
return print_data_expression(expr, lose);
-
+
if (is_boolean_expression(expr))
return print_boolean_expression(expr, lose);
if (is_numeric_expression(expr))
struct element *width;
struct element *separator;
struct element *buffer;
-
+
appendString(result, "binary-to-ascii(");
arg = mapGet(expr, "binary-to-ascii");
if ((arg == NULL) || (arg->type != ELEMENT_MAP)) {
struct element *arg;
struct element *width;
struct element *buffer;
-
+
appendString(result, "reverse(");
arg = mapGet(expr, "reverse");
if ((arg == NULL) || (arg->type != ELEMENT_MAP)) {
struct element *arg;
struct element *relay;
struct element *option;
-
+
appendString(result, "v6relay(");
arg = mapGet(expr, "v6relay");
* data_expression :== SUBSTRING LPAREN data-expression COMMA
* numeric-expression COMMA
* numeric-expression RPAREN |
- * CONCAT LPAREN data-expression COMMA
+ * CONCAT LPAREN data-expression COMMA
* data-expression RPAREN
* SUFFIX LPAREN data_expression COMMA
* numeric-expression RPAREN |
concatString(result, stringValue(string));
snprintf(buf, sizeof(buf), ",-%u,all)", (unsigned)len);
appendString(result, buf);
- return createString(result);
+ return createString(result);
}
/* lowercase */
return bar;
}
-void
+void
dfree(void *ptr, const char *file, int line) {
if (!ptr) {
log_error ("dfree %s(%d): free on null pointer.", file, line);
/* For allocation functions that keep their own free lists, we want to
account for the reuse of the memory. */
-void
+void
dmalloc_reuse(void *foo, const char *file, int line, int justref) {
struct dmalloc_preamble *dp;
if (!inhistory)
#endif
log_info (" %s(%d): %ld",
- dp -> file, dp -> line,
+ dp -> file, dp -> line,
(long) dp -> size);
}
#endif
tsize = (*type -> sizer) (size);
else
tsize = type -> size;
-
+
/* Sanity check. */
if (tsize < sizeof (omapi_object_t))
return DHCP_R_INVALIDARG;
-
+
foo = dmalloc (tsize, file, line);
if (!foo)
return ISC_R_NOMEMORY;
return DHCP_R_INVALIDARG;
#endif
}
-
+
if ((*h) -> refcnt <= 0) {
#if defined (POINTER_DEBUG)
log_error ("%s(%d): dereference of pointer with refcnt of zero!",
return DHCP_R_INVALIDARG;
#endif
}
-
+
/* See if this object's inner object refers to it, but don't
count this as a reference if we're being asked to free the
reference from the inner object. */
rc_register (file, line, h, hp,
0, 1, hp -> type -> rc_flag);
if (handle_reference) {
- if (omapi_handle_clear(hp->handle) !=
+ if (omapi_handle_clear(hp->handle) !=
ISC_R_SUCCESS) {
log_debug("Attempt to clear null "
"handle pointer");
{
omapi_buffer_t *t;
isc_result_t status;
-
+
t = (omapi_buffer_t *)dmalloc (sizeof *t, file, line);
if (!t)
return ISC_R_NOMEMORY;
return DHCP_R_INVALIDARG;
#endif
}
-
+
if ((*h) -> refcnt <= 0) {
#if defined (POINTER_DEBUG)
log_error ("%s(%d): dereference of pointer with refcnt of zero!",
return DHCP_R_INVALIDARG;
#endif
}
-
+
if ((*h) -> refcnt <= 0) {
#if defined (POINTER_DEBUG)
log_error ("%s(%d): dereference of pointer with refcnt of zero!",
return DHCP_R_INVALIDARG;
#endif
}
-
+
--((*h) -> refcnt);
rc_register (file, line, h, *h, (*h) -> refcnt, 1, RC_MISC);
if ((*h) -> refcnt <= 0 ) {
return DHCP_R_INVALIDARG;
#endif
}
-
+
if ((*h) -> refcnt <= 0) {
#if defined (POINTER_DEBUG)
log_error ("%s(%d): dereference of pointer with refcnt of zero!",
return DHCP_R_INVALIDARG;
#endif
}
-
+
if ((*h) -> refcnt <= 0) {
#if defined (POINTER_DEBUG)
log_error ("%s(%d): dereference of pointer with refcnt of zero!",
return DHCP_R_INVALIDARG;
#endif
}
-
+
--((*h) -> refcnt);
rc_register (file, line, h, *h, (*h) -> refcnt, 1, RC_MISC);
if ((*h) -> refcnt == 0) {
return DHCP_R_INVALIDARG;
#endif
}
-
+
if ((*h) -> refcnt <= 0) {
#if defined (POINTER_DEBUG)
log_error ("%s(%d): dereference of pointer with zero refcnt!",
*h = 0;
return ISC_R_SUCCESS;
}
-
if (array -> data [index]) {
status = ((*array -> deref) (&array -> data [index],
file, line));
-
+
if (status != ISC_R_SUCCESS)
return status;
}
array -> data [index], file, line);
return ISC_R_NOTFOUND;
}
-
omapi_data_string_dereference(&a->key, MDL);
if (a->tsec_key != NULL)
dns_tsec_destroy(&a->tsec_key);
-
+
return ISC_R_SUCCESS;
}
/*
* If possible create a tsec structure for this key,
- * if we can't create the structure we put out a warning
+ * if we can't create the structure we put out a warning
* and continue.
*/
status = isclib_make_dst_key(a->name, a->algorithm,
int read_status;
omapi_connection_object_t *c;
unsigned bytes_to_read;
-
+
if (!h || h -> type != omapi_type_connection)
return DHCP_R_INVALIDARG;
c = (omapi_connection_object_t *)h;
buffer -> head = first_byte + bytes_this_copy - 1;
c -> in_bytes -= bytes_this_copy;
}
-
+
if (!BYTES_IN_BUFFER (buffer))
buffer = buffer -> next;
}
isc_result_t status;
trace_iov_t iov [2];
int32_t connect_index;
-
+
connect_index = htonl (c -> index);
-
+
iov [0].buf = (char *)&connect_index;
iov [0].len = sizeof connect_index;
iov [1].buf = &buffer -> buf [buffer -> tail];
iov [1].len = bytes_written;
-
+
status = (trace_write_packet_iov
(trace_connection_input, 2, iov,
MDL));
if (bytes_written != bytes_this_write)
return ISC_R_INPROGRESS;
}
-
+
if (!BYTES_IN_BUFFER (buffer))
buffer = buffer -> next;
}
-
+
/* Get rid of any output buffers we emptied. */
buffer = (omapi_buffer_t *)0;
while (c -> outbufs &&
u_int32_t inbuf;
inbuf = htonl (value);
-
+
return omapi_connection_copyin (c, (unsigned char *)&inbuf,
sizeof inbuf);
}
u_int16_t inbuf;
inbuf = htons (value);
-
+
return omapi_connection_copyin (c, (unsigned char *)&inbuf,
sizeof inbuf);
}
status = omapi_connection_put_uint32(c, value);
return (status);
}
-
local_sin.sin_family = AF_INET;
memset (&local_sin.sin_zero, 0,
sizeof local_sin.sin_zero);
-
+
if (bind (obj -> socket, (struct sockaddr *)&local_sin,
sizeof local_sin) < 0) {
omapi_connection_object_t **objp = &obj;
omapi_connection_dereference (&obj, MDL);
return ISC_R_UNEXPECTED;
}
-
+
/* Set the file to nonblocking mode. */
if (fcntl (obj -> socket, F_SETFL, O_NONBLOCK) < 0) {
omapi_connection_dereference (&obj, MDL);
(char *)&flag, sizeof(flag)) < 0) {
omapi_connection_dereference (&obj, MDL);
return ISC_R_UNEXPECTED;
- }
+ }
#endif
status = (omapi_register_io_object
#if defined (TRACING)
if (trace_record ()) {
/* Connection registration packet:
-
+
int32_t index
int32_t listener_index [-1 means no listener]
u_int16_t remote_port
omapi_listener_reference (&listener, lp, MDL);
omapi_listener_dereference (&lp, MDL);
break;
- }
+ }
} omapi_array_foreach_end (trace_listeners,
omapi_listener_object_t, lp);
if (!listener) {
}
} omapi_array_foreach_end (omapi_connections,
omapi_connection_object_t, lp);
-
+
log_error ("Spurious traced connect - index %ld, addr %s, port %d",
(long int)connect_index, inet_ntoa (remote.sin_addr),
ntohs (remote.sin_port));
log_error ("trace disconnect: wrong length %d", length);
return;
}
-
+
index = (int32_t *)buf;
omapi_array_foreach_begin (omapi_connections,
* pass it on as a signal.
*/
status = omapi_connection_connect_internal (h);
- if (status == ISC_R_INPROGRESS)
+ if (status == ISC_R_INPROGRESS)
return ISC_R_INPROGRESS;
if (status != ISC_R_SUCCESS)
}
c -> state = omapi_connection_connected;
}
-
+
/* I don't know why this would fail, so I'm tempted not to test
the return value. */
sl = sizeof (c -> local_addr);
return ISC_R_SUCCESS;
}
-
+
if (h -> inner && h -> inner -> type -> set_value)
return (*(h -> inner -> type -> set_value))
(h -> inner, id, name, value);
status = dst_key_sigsize(c->in_key, &sigsize);
if (status != ISC_R_SUCCESS) {
return(status);
- }
+ }
return omapi_make_int_value(value, name, sigsize, MDL);
status = dst_key_sigsize(c->out_key, &sigsize);
if (status != ISC_R_SUCCESS) {
return(status);
- }
+ }
return omapi_make_int_value(value, name, sigsize, MDL);
}
-
+
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
(h -> inner, id, name, value);
#ifdef DEBUG_PROTOCOL
log_debug ("omapi_connection_signal_handler(%s)", name);
#endif
-
+
if (h -> inner && h -> inner -> type -> signal_handler)
return (*(h -> inner -> type -> signal_handler)) (h -> inner,
name, ap);
return; /* handler already registered */
t = q;
}
-
+
q = ((struct eventqueue *)dmalloc(sizeof(struct eventqueue), MDL));
if (!q)
log_fatal("register_eventhandler: no memory!");
memset(q, 0, sizeof *q);
if (t)
t->next = q;
- else
+ else
*queue = q;
q->handler = handler;
return;
unregister_eventhandler(struct eventqueue **queue, void (*handler)(void *))
{
struct eventqueue *t, *q;
-
+
/* traverse to end of list */
t= NULL;
for (q = *queue ; q ; q = q->next) {
struct eventqueue *q;
for (q=*queue ; q ; q=q->next) {
- if (q->handler)
+ if (q->handler)
(*q->handler)(NULL);
}
}
* Callback routine to connect the omapi I/O object and socket with
* the isc socket code. The isc socket code will call this routine
* which will then call the correct local routine to process the bytes.
- *
+ *
* Currently we are always willing to read more data, this should be modified
* so that on connections we don't read more if we already have enough.
*
if (obj->closed == ISC_TRUE) {
return(0);
}
-#endif
+#endif
if ((flags == ISC_SOCKFDWATCH_READ) &&
(obj->reader != NULL) &&
(obj->inner != NULL)) {
status = obj->reader(obj->inner);
- /*
+ /*
* If we are shutting down (basically tried to
* read and got no bytes) we don't need to try
* again.
omapi_io_states.refcnt = 1;
omapi_io_states.type = omapi_type_io_object;
}
-
+
obj = (omapi_io_object_t *)0;
status = omapi_io_allocate (&obj, MDL);
if (status != ISC_R_SUCCESS)
}
/*
- * Attach the I/O object to the isc socket library via the
+ * Attach the I/O object to the isc socket library via the
* fdwatch function. This allows the socket library to watch
* over a socket that we built. If there are both a read and
* a write socket we asssume they are the same socket.
if ((!h -> outer) || (h -> outer -> type != omapi_type_io_object)) {
/*
- * If we don't have an object or if the type isn't what
+ * If we don't have an object or if the type isn't what
* we expect do the normal registration (which will overwrite
* an incorrect type, that's what we did historically, may
* want to change that)
}
isc_socket_fdwatchpoke(obj->fd, fd_flags);
-
+
return (ISC_R_SUCCESS);
}
{
omapi_io_object_t *obj, *ph;
#if SOCKDELETE
- omapi_io_object_t *p, *last;
+ omapi_io_object_t *p, *last;
#endif
if (!h -> outer || h -> outer -> type != omapi_type_io_object)
omapi_waiter_dereference (&waiter, MDL);
return status;
}
-
+
status = omapi_object_reference (&inner -> inner,
(omapi_object_t *)waiter,
MDL);
}
if (waiter -> inner)
omapi_object_dereference (&waiter -> inner, MDL);
-
+
status = waiter -> waitstatus;
omapi_waiter_dereference (&waiter, MDL);
return status;
if (now.tv_sec > t -> tv_sec ||
(now.tv_sec == t -> tv_sec && now.tv_usec >= t -> tv_usec))
return ISC_R_TIMEDOUT;
-
+
/* We didn't time out, so figure out how long until
we do. */
to.tv_sec = t -> tv_sec - now.tv_sec;
if (to.tv_sec > (60 * 60 * 24))
to.tv_sec = 60 * 60 * 24;
}
-
+
/* If the object we're waiting on has reached completion,
return now. */
if (waiter && waiter -> ready)
return ISC_R_SUCCESS;
-
+
again:
/* If we have no I/O state, we can't proceed. */
if (!(io = omapi_io_states.next))
if (desc > max)
max = desc;
}
-
+
/* Same deal for write fdets. */
if (io -> writefd && io -> inner &&
(desc = (*(io -> writefd)) (io -> inner)) >= 0) {
}
}
- /* poll if all reader are dry */
+ /* poll if all reader are dry */
now.tv_sec = 0;
now.tv_usec = 0;
- rr=r;
- ww=w;
+ rr=r;
+ ww=w;
xx=x;
/* poll once */
count = select(max + 1, &r, &w, &x, &now);
- if (!count) {
- /* We are dry now */
+ if (!count) {
+ /* We are dry now */
trigger_event(&rw_queue_empty);
/* Wait for a packet or a timeout... XXX */
r = rr;
goto again;
}
}
-
+
FD_ZERO (&r);
FD_ZERO (&w);
t0.tv_sec = t0.tv_usec = 0;
}
if (prev)
omapi_io_dereference (&prev, MDL);
-
+
}
for (io = omapi_io_states.next; io; io = io -> next) {
if (FD_ISSET (desc, &r))
((*(io -> reader)) (tmp));
}
-
+
/* Same deal for write descriptors. */
if (io -> writefd &&
(desc = (*(io -> writefd)) (tmp)) >= 0)
omapi_io_reference(&io, omapi_io_states.next, MDL);
}
while (io != NULL) {
- if ((io->inner == NULL) ||
- ((io->reaper != NULL) &&
- ((io->reaper)(io->inner) != ISC_R_SUCCESS)))
+ if ((io->inner == NULL) ||
+ ((io->reaper != NULL) &&
+ ((io->reaper)(io->inner) != ISC_R_SUCCESS)))
{
omapi_io_object_t *tmp = NULL;
omapi_io_reference(&prev->next,
tmp, MDL);
} else {
- omapi_io_dereference(&omapi_io_states.next,
+ omapi_io_dereference(&omapi_io_states.next,
MDL);
if (tmp != NULL)
omapi_io_reference
{
if (h -> type != omapi_type_io_object)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> set_value)
return (*(h -> inner -> type -> set_value))
(h -> inner, id, name, value);
{
if (h -> type != omapi_type_io_object)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
(h -> inner, id, name, value);
if (h -> type != omapi_type_io_object)
return DHCP_R_INVALIDARG;
-
+
/* remove from the list of I/O states */
for (p = omapi_io_states.next; p; p = p -> next) {
if (p == (omapi_io_object_t *)h) {
{
if (h -> type != omapi_type_io_object)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> signal_handler)
return (*(h -> inner -> type -> signal_handler)) (h -> inner,
name, ap);
if (h -> type != omapi_type_waiter)
return DHCP_R_INVALIDARG;
-
+
if (!strcmp (name, "ready")) {
waiter = (omapi_waiter_object_t *)h;
waiter -> ready = 1;
/* Notice a free slot if we pass one. */
else if (vfree == -1 && !g -> values [i])
vfree = i;
- }
+ }
/* If the name isn't already attached to this object, see if an
inner object has it. */
if (h -> type != omapi_type_generic)
return DHCP_R_INVALIDARG;
g = (omapi_generic_object_t *)h;
-
+
/* Look up the specified name in our list of objects. */
for (i = 0; i < g -> nvalues; i++) {
if (!g -> values[i])
return omapi_value_reference (value,
g -> values [i], MDL);
}
- }
+ }
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
if (h -> type != omapi_type_generic)
return ISC_R_UNEXPECTED;
g = (omapi_generic_object_t *)h;
-
+
if (g -> values) {
for (i = 0; i < g -> nvalues; i++) {
if (g -> values [i])
{
if (h -> type != omapi_type_generic)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> signal_handler)
return (*(h -> inner -> type -> signal_handler)) (h -> inner,
name, ap);
if (g -> type != omapi_type_generic)
return DHCP_R_INVALIDARG;
src = (omapi_generic_object_t *)g;
-
+
for (i = 0; i < src -> nvalues; i++) {
if (src -> values [i] && src -> values [i] -> name -> len &&
src -> changed [i]) {
if (status != ISC_R_SUCCESS)
return status;
}
- }
+ }
if (g -> inner && g -> inner -> type -> stuff_values)
return (*(g -> inner -> type -> stuff_values)) (c, id,
next handle should go, and if necessary create additional nodes in
the tree to contain the new handle. The pointer to the object is
then stored in the correct position.
-
+
Theoretically, we could have some code here to free up handle
tables as they go out of use, but by and large handle tables won't
go out of use, so this is being skipped for now. It shouldn't be
*h = o -> handle;
return ISC_R_SUCCESS;
}
-
+
if (!omapi_handle_table) {
omapi_handle_table = dmalloc (sizeof *omapi_handle_table, MDL);
if (!omapi_handle_table)
while (omapi_next_handle >= omapi_handle_table -> limit) {
omapi_handle_table_t *new;
-
+
new = dmalloc (sizeof *new, MDL);
if (!new)
return ISC_R_NOMEMORY;
if (table -> first > h || table -> limit <= h)
return ISC_R_NOSPACE;
-
+
/* If this is a leaf table, just stash the object in the
appropriate place. */
if (table -> leafp) {
if (!table || table->first > h || table->limit <= h)
return(ISC_R_NOTFOUND);
-
+
/* If this is a leaf table, just grab the object. */
if (table->leafp) {
/* Not there? */
if (!n)
p = &c -> next;
}
-
+
for (c = hash_bucket_hunks; c; c = n) {
n = c -> next;
if (c -> len != 126) {
* The switch handles our starting conditions, then we hash the
* remaining bytes in groups of 3
*/
-
+
switch (len % 3) {
case 0:
break;
maxlen > 2147483647)
return (unsigned char *) "Report out of range for display.";
- sprintf((char *)retbuf,
+ sprintf((char *)retbuf,
"Contents/Size (%%): %u/%u (%u%%). Min/max: %u/%u",
contents, table->hash_count, pct, minlen, maxlen);
size_t i;
const unsigned char *s = v1;
const unsigned char *t = v2;
-
+
for (i = 0; i < len; i++)
{
int c1, c2;
* It may be moved to be part of the dns client code instead
* of being in the DHCP code
*/
-isc_result_t
+isc_result_t
dhcp_dns_client_setservers(void)
{
isc_result_t result;
}
memset(&dhcp_gbl_ctx, 0, sizeof (dhcp_gbl_ctx));
-
+
isc_lib_register();
/* get the current time for use as the random seed */
isc_buffer_t b;
isc_result_t result;
- namelen = strlen((char *)namestr);
+ namelen = strlen((char *)namestr);
isc_buffer_init(&b, namestr, namelen);
isc_buffer_add(&b, namelen);
dns_fixedname_init(namefix);
error_exit:
if (obj != NULL) {
if (h->outer == (omapi_object_t *)obj) {
- omapi_object_dereference((omapi_object_t **)&h->outer,
+ omapi_object_dereference((omapi_object_t **)&h->outer,
MDL);
}
if (obj->inner == h) {
if (h -> type != omapi_type_listener)
return -1;
l = (omapi_listener_object_t *)h;
-
+
return l -> socket;
}
#ifdef DEBUG_PROTOCOL
log_debug ("omapi_accept()");
#endif
-
+
/* Get the handle. */
status = omapi_connection_allocate (obj, MDL);
if (status != ISC_R_SUCCESS)
{
if (h -> type != omapi_type_listener)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> set_value)
return (*(h -> inner -> type -> set_value))
(h -> inner, id, name, value);
{
if (h -> type != omapi_type_listener)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
(h -> inner, id, name, value);
#ifdef DEBUG_PROTOCOL
log_debug ("omapi_listener_destroy()");
#endif
-
+
if (l -> socket != -1) {
close (l -> socket);
l -> socket = -1;
{
if (h -> type != omapi_type_listener)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> signal_handler)
return (*(h -> inner -> type -> signal_handler)) (h -> inner,
name, ap);
l -> inner);
return ISC_R_SUCCESS;
}
-
if (status == ISC_R_SUCCESS)
return status;
}
-
+
return ISC_R_NOTFOUND;
}
if (h -> type != omapi_type_message)
return DHCP_R_INVALIDARG;
m = (omapi_message_object_t *)h;
-
+
if (!strcmp (name, "status")) {
if (m -> notify_object &&
m -> notify_object -> type -> signal_handler)
if (mo -> type != omapi_type_message)
return DHCP_R_INVALIDARG;
m = (omapi_message_object_t *)mo;
-
+
/* Already registered? */
if (m -> prev || m -> next || omapi_registered_messages == m)
return DHCP_R_INVALIDARG;
if (mo -> type != omapi_type_message)
return DHCP_R_INVALIDARG;
m = (omapi_message_object_t *)mo;
-
+
/* Not registered? */
if (!m -> prev && omapi_registered_messages != m)
return DHCP_R_INVALIDARG;
(po, message -> id_object,
ISC_R_NOTFOUND, message -> id,
"no object matches specification");
- }
+ }
/* If we found an object, we're supposed to be creating an
object, and we're not supposed to have found an object,
"can't select authenticator");
}
}
-
+
/* Now send the new contents of the object back in
response. */
goto send;
status, message -> id,
"no matching handle");
}
- send:
+ send:
status = omapi_protocol_send_update (po, message -> id_object,
message -> id, object);
omapi_object_dereference (&object, MDL);
status, message -> id,
"cannot update authenticator");
}
-
+
status = omapi_protocol_add_auth (po, object,
message -> h);
} else {
client will create a handle for a lease object, and will request the
server to fill the lease handle's state. The client application can
then pull details such as the lease expiration time from the lease
-handle.
+handle.
.PP
Modifications can be made to the server state by creating handles to
new objects, or by modifying attributes of handles to existing
.SH USAGE
.PP
The client application must always call dhcpctl_initialize() before
-making calls to any other dhcpctl functions. This initializes
-various internal data structures.
+making calls to any other dhcpctl functions. This initializes
+various internal data structures.
.PP
To create the connection to the server the client must use
dhcpctl_connect() function. As well as making the physical connection
will expire.
.PP
.nf
-
+
memcpy(&thetime, value->value, value->len);
dhcpctl_data_string_dereference(&value, MDL);
const char *algorithm = "hmac-md5";
const char *secret = "a-shared-secret";
- dhcpctl_new_authenticator (&authenticator,
+ dhcpctl_new_authenticator (&authenticator,
keyname,
algorithm,
secret,
is maintained by ISC. To learn more about Internet Systems Consortium,
see
.B https://www.isc.org
-
}
return ISC_R_SUCCESS;
}
-
+
isc_result_t omapi_protocol_signal_handler (omapi_object_t *h,
const char *name, va_list ap)
byte order. */
omapi_connection_get_uint32 (c, &p -> protocol_version);
omapi_connection_get_uint32 (c, &p -> header_size);
-
+
/* We currently only support the current protocol version. */
if (p -> protocol_version != OMAPI_PROTOCOL_VERSION) {
omapi_disconnect (c, 1);
(0, c, (p -> header_size -
sizeof (omapi_protocol_header_t)));
}
-
+
/* XXX must compute partial signature across the
XXX preceding bytes. Also, if authenticator
specifies encryption as well as signing, we may
if (omapi_connection_require (c, nlen) != ISC_R_SUCCESS)
break;
/* If it's already here, fall through. */
-
+
case omapi_protocol_name_wait:
omapi_connection_copyout (p -> name -> value, c,
p -> name -> len);
if (omapi_connection_require (c, vlen) != ISC_R_SUCCESS)
break;
/* If it's already here, fall through. */
-
+
case omapi_protocol_value_wait:
omapi_connection_copyout (p -> value -> u.buffer.value, c,
p -> value -> u.buffer.len);
&p -> message -> authenticator,
omapi_datatype_data,
p -> message -> authlen);
-
+
if (status != ISC_R_SUCCESS) {
if (signature != NULL) {
omapi_value_dereference (&signature, MDL);
previous_outstanding = 0xDEADBEEF;
#endif
/* Now wait for the next message. */
- goto to_header_wait;
+ goto to_header_wait;
default:
/* XXX should never get here. Assertion? */
return omapi_make_object_value (value, name,
p -> default_auth -> a, MDL);
}
-
+
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
(h -> inner, id, name, value);
return DHCP_R_INVALIDARG;
}
}
-
+
/* Set up a listener for the omapi protocol. The handle stored points to
a listener object, not a protocol object. */
{
if (h -> type != omapi_type_protocol_listener)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> set_value)
return (*(h -> inner -> type -> set_value))
(h -> inner, id, name, value);
{
if (h -> type != omapi_type_protocol_listener)
return DHCP_R_INVALIDARG;
-
+
if (h -> inner && h -> inner -> type -> get_value)
return (*(h -> inner -> type -> get_value))
(h -> inner, id, name, value);
omapi_message_dereference (&message, MDL);
return status;
}
- }
-
+ }
+
status = omapi_set_object_value (mo, (omapi_object_t *)0,
"object", object);
if (status != ISC_R_SUCCESS) {
/* result.c
*/
-/*
+/*
* Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1999-2003 by Internet Software Consortium
*
const char *file, int line)
{
isc_result_t status;
-
+
status = omapi_value_new (vp, file, line);
if (status != ISC_R_SUCCESS)
return status;
-
+
status = omapi_data_string_reference (&(*vp) -> name,
name, file, line);
if (status != ISC_R_SUCCESS) {
omapi_value_dereference (vp, file, line);
return status;
}
-
+
if (value) {
status = omapi_typed_data_new (file, line, &(*vp) -> value,
omapi_datatype_object, value);
return status;
}
}
-
+
return ISC_R_SUCCESS;
}
tfh.version = htonl (TRACEFILE_VERSION);
tfh.hlen = htonl (sizeof (tracefile_header_t));
tfh.phlen = htonl (sizeof (tracepacket_t));
-
+
status = write (traceoutfile, &tfh, sizeof tfh);
if (status < 0) {
log_error ("%s(%d): trace_begin write failed: %m", file, line);
}
}
}
-
+
return ISC_R_SUCCESS;
}
file ? file : "<unknown file>", line);
return DHCP_R_INVALIDARG;
}
-
+
/* Compute the total length of the iov. */
length = 0;
for (i = 0; i < count; i++)
if (length % 8) {
static char zero [] = { 0, 0, 0, 0, 0, 0, 0 };
unsigned padl = 8 - (length % 8);
-
+
status = write (traceoutfile, zero, padl);
if (status < 0) {
log_error ("%s(%d): trace_write_packet write failed: %m",
strcpy (ttmp -> name, name);
ttmp -> have_packet = have_packet;
ttmp -> stop_tracing = stop_tracing;
-
+
if (traceoutfile) {
status = trace_type_record (ttmp, slen, file, line);
if (status != ISC_R_SUCCESS) {
return ttmp;
}
-
+
static isc_result_t trace_type_record (trace_type_t *ttmp, unsigned slen,
const char *file, int line)
{
}
prev = &tptr -> next;
}
-
+
log_error ("No registered trace type for type name %.*s",
(int)length - TRACE_INDEX_MAPPING_SIZE, tmap -> name);
return;
tpkt->type_index = ntohl(tpkt -> type_index);
tpkt->length = ntohl(tpkt -> length);
tpkt->when = ntohl(tpkt -> when);
-
+
/* See if there's a handler for this packet type. */
if (tpkt->type_index < trace_type_count &&
trace_types[tpkt->type_index])
"tracefile");
return DHCP_R_PROTOCOLERROR;
}
-
+
status = fsetpos(traceinfile, &curpos);
if (status < 0) {
log_error("fsetpos in tracefile failed: %m");
[
.B ...
.B -i
-.I interfaceN
+.I interfaceN
]
]
[
.I lowerN
]
.B -u
-.I upper0
+.I upper0
[
.B ...
.B -u
&lease->scope, hp->group,
lease->subnet->group, NULL);
}
-
+
/* Drop the request if it's not allowed for this client. */
if ((oc = lookup_option (&server_universe, options, SV_ALLOW_BOOTP)) &&
!evaluate_boolean_option_cache(&ignorep, packet, lease,
if (!ignorep)
log_info ("%s: bootp disallowed", msgbuf);
goto out;
- }
+ }
if ((oc = lookup_option(&server_universe,
options, SV_ALLOW_BOOTING)) &&
static int postconf_initialized;
static int leaseconf_initialized;
isc_result_t status;
-
+
/* Do what's done above, except that we don't have to read in the
data, because it's already been read for us. */
tflen = strlen (data);
parse_semi (cfile);
}
return 1;
-
+
case HOST:
skip_token(&val, (unsigned *)0, cfile);
if (type != HOST_DECL && type != CLASS_DECL) {
} else if (type != SUBNET_DECL && type != SHARED_NET_DECL) {
parse_warn (cfile, "pool declared outside of network");
skip_to_semi(cfile);
- } else
+ } else
parse_pool_statement (cfile, group, type);
return declaration;
} else if (type != SUBNET_DECL) {
parse_warn (cfile, "pool6 declared outside of network");
skip_to_semi(cfile);
- } else
+ } else
parse_pool6_statement (cfile, group, type);
return declaration;
group -> authoritative = 1;
authoritative:
if (type == HOST_DECL)
- parse_warn (cfile, "authority makes no sense here.");
+ parse_warn (cfile, "authority makes no sense here.");
parse_semi (cfile);
break;
skip_to_semi (cfile);
#endif
break;
-
-#ifdef DHCPv6
+
+#ifdef DHCPv6
case SERVER_DUID:
parse_server_duid_conf(cfile);
break;
goto make_hba;
}
break;
-
+
case LOAD:
token = next_token (&val, (unsigned *)0, cfile);
if (token != BALANCE) {
}
peer -> load_balance_max_secs = atoi (val);
break;
-
+
default:
parse_warn (cfile,
"invalid statement in peer declaration");
state -> mclt = atoi (val);
parse_semi (cfile);
break;
-
+
default:
parse_warn (cfile, "expecting state setting.");
bogus:
- skip_to_rbrace (cfile, 1);
+ skip_to_rbrace (cfile, 1);
dhcp_failover_state_dereference (&state, MDL);
return;
}
case RECOVER:
state_in = recover;
break;
-
+
case RECOVER_WAIT:
state_in = recover_wait;
break;
-
+
case RECOVER_DONE:
state_in = recover_done;
break;
-
+
case SHUTDOWN:
state_in = shut_down;
break;
-
+
case PAUSED:
state_in = paused;
break;
-
+
case STARTUP:
state_in = startup;
break;
skip_to_semi (cfile);
return;
}
-
+
stos_in = parse_date (cfile);
if (!stos_in)
return;
}
#endif /* defined (FAILOVER_PROTOCOL) */
-/*!
+/*!
* \brief Parses an authoring-byte-order statement
*
* A valid statement looks like this:
}
/*!
- *
+ *
* \brief Parse allow and deny statements
*
* This function handles the common processing code for permit and deny
* statements in the parse_pool_statement and parse_pool6_statement functions.
* It reads in the configuration and constructs a new permit structure that it
* attachs to the permit_head passed in from the caller.
- *
+ *
* The allow or deny token should already be consumed, this function expects
* one of the following:
* known-clients;
case UNKNOWN:
permit->type = permit_unknown_clients;
break;
-
+
case KNOWN_CLIENTS:
need_clients = 0;
permit->type = permit_known_clients;
case KNOWN:
permit->type = permit_known_clients;
break;
-
+
case AUTHENTICATED:
permit->type = permit_authenticated_clients;
break;
-
+
case UNAUTHENTICATED:
permit->type = permit_unauthenticated_clients;
break;
case ALL:
permit->type = permit_all_clients;
break;
-
+
case DYNAMIC:
permit->type = permit_dynamic_bootp_clients;
if (next_token (&val, NULL, cfile) != TOKEN_BOOTP) {
/* Inherit the failover peer from the shared network. */
if (pool->shared_network->failover_peer)
dhcp_failover_state_reference
- (&pool->failover_peer,
+ (&pool->failover_peer,
pool->shared_network->failover_peer, MDL);
#endif
(&pool->failover_peer, MDL);
#endif
break;
-
+
#if defined (FAILOVER_PROTOCOL)
case FAILOVER:
skip_token(&val, NULL, cfile);
get_permit(cfile, &pool->prohibit_list, 0,
&pool->valid_from, &pool->valid_until);
break;
-
+
case RBRACE:
skip_token(&val, NULL, cfile);
done = 1;
skip_token(&val, NULL, cfile);
token = next_token(&val, NULL, cfile);
if (token == V6RELOPT) {
- token = next_token(&val, NULL, cfile);
+ token = next_token(&val, NULL, cfile);
if (token != NUMBER) {
parse_warn(cfile,
"host-identifier v6relopt "
break;
}
} else if (token != OPTION) {
- parse_warn(cfile,
+ parse_warn(cfile,
"host-identifier must be an option"
" or v6relopt");
skip_to_rbrace(cfile, 1);
}
if (!known) {
parse_warn(cfile, "unknown option %s.%s",
- option->universe->name,
+ option->universe->name,
option->name);
skip_to_rbrace(cfile, 1);
break;
option_dereference(&option, MDL);
break;
}
-
+
if (!parse_semi(cfile)) {
skip_to_rbrace(cfile, 1);
expression_dereference(&expr, MDL);
option_reference(&host->host_id_option, option, MDL);
option_dereference(&option, MDL);
- data_string_copy(&host->host_id,
+ data_string_copy(&host->host_id,
&expr->data.const_data, MDL);
expression_dereference(&expr, MDL);
continue;
MDL);
}
}
-
+
if (dynamicp)
host -> flags |= HOST_DECL_DYNAMIC;
else
data.len + 1, MDL)) {
if (pc)
class_dereference (&pc, MDL);
-
+
return 0;
}
data.terminated = 1;
if (class->flags & CLASS_DECL_DELETED) {
if (type == CLASS_TYPE_CLASS) {
struct class *theclass = NULL;
-
+
status = find_class(&theclass, class->name, MDL);
if (status == ISC_R_SUCCESS) {
delete_class(theclass, 0);
static int
-common_subnet_parsing(struct parse *cfile,
+common_subnet_parsing(struct parse *cfile,
struct shared_network *share,
struct subnet *subnet) {
enum dhcp_token token;
const char *val;
char *endp;
int ofs;
- const static int mask[] = { 0x00, 0x80, 0xC0, 0xE0,
+ const static int mask[] = { 0x00, 0x80, 0xC0, 0xE0,
0xF0, 0xF8, 0xFC, 0xFE };
struct iaddr iaddr;
}
subnet->prefix_len = strtol(val, &endp, 10);
- if ((subnet->prefix_len < 0) ||
- (subnet->prefix_len > 128) ||
+ if ((subnet->prefix_len < 0) ||
+ (subnet->prefix_len > 128) ||
(*endp != '\0')) {
parse_warn(cfile, "Expecting a number between 0 and 128.");
subnet_dereference(&subnet, MDL);
return;
}
- /*
- * Create a netmask.
+ /*
+ * Create a netmask.
*/
subnet->netmask.len = 16;
ofs = subnet->prefix_len / 8;
token = peek_token(&val, NULL, cfile);
if (is_identifier (token) || token == STRING) {
skip_token(&val, NULL, cfile);
-
+
name = dmalloc(strlen(val) + 1, MDL);
if (!name)
log_fatal("no memory for group decl name %s", val);
strcpy(name, val);
- }
+ }
if (!parse_lbrace(cfile)) {
group_dereference(&g, MDL);
| ip-addrs-or-hostnames ip-addr-or-hostname */
int
-parse_fixed_addr_param(struct option_cache **oc,
- struct parse *cfile,
+parse_fixed_addr_param(struct option_cache **oc,
+ struct parse *cfile,
enum dhcp_token type) {
int parse_ok;
const char *val;
seenbit = 1;
lease -> starts = t;
break;
-
+
case ENDS:
seenbit = 2;
lease -> ends = t;
break;
-
+
case TSTP:
seenbit = 65536;
lease -> tstp = t;
break;
-
+
case TSFP:
seenbit = 131072;
lease -> tsfp = t;
seenbit = 262144;
lease->atsfp = t;
break;
-
+
case CLTT:
seenbit = 524288;
lease -> cltt = t;
break;
-
+
default: /* for gcc, we'll never get here. */
log_fatal ("Impossible error at %s:%d.", MDL);
return 0;
}
}
break;
-
+
case BILLING:
seenbit = 2048;
class = (struct class *)0;
case TOKEN_SET:
noequal = 0;
-
+
token = next_token (&val, (unsigned *)0, cfile);
if (token != NAME && token != NUMBER_OR_NAME) {
parse_warn (cfile,
lease_dereference (&lease, MDL);
return 0;
}
-
+
seenbit = 0;
special_set:
if (lease -> scope)
then look for a pool with an empty prohibit list and
a permit list with one entry that permits all clients. */
for (pool = share -> pools; pool; pool = pool -> next) {
- if ((!dynamic && !pool -> permit_list &&
+ if ((!dynamic && !pool -> permit_list &&
pool -> prohibit_list &&
!pool -> prohibit_list -> next &&
(pool -> prohibit_list -> type ==
pool->ipv6_pond = NULL;
ipv6_pond_reference(&pool->ipv6_pond, pond, MDL);
- /*
+ /*
* Increase our array size for ipv6_pools in the pond
*/
if (pond->ipv6_pools == NULL) {
log_fatal("Out of memory");
}
if (num_pools > 0) {
- memcpy(tmp, pond->ipv6_pools,
+ memcpy(tmp, pond->ipv6_pools,
sizeof(struct ipv6_pool *) * num_pools);
}
if (pond->ipv6_pools != NULL) {
}
pond->ipv6_pools = tmp;
- /*
+ /*
* Record this pool in our array of pools for this shared network.
*/
ipv6_pool_reference(&pond->ipv6_pools[num_pools], pool, MDL);
* with a single entry that permits all clients. If the shared
* network doesn't have one of them create it and attach it to
* the shared network and the return argument.
- *
+ *
* This function is used when we have a range6 or prefix6 statement
* inside a subnet6 statement but outside of a pool6 statement.
* This routine constructs the missing ipv6_pond structure so
- * we always have
+ * we always have
* shared_network -> ipv6_pond -> ipv6_pool
*
* \param[in] group = a pointer to the group structure from which
/* no pond available, make one */
status = ipv6_pond_allocate(&pond, MDL);
- if (status != ISC_R_SUCCESS)
+ if (status != ISC_R_SUCCESS)
log_fatal ("no memory for ad-hoc ipv6 pond: %s",
isc_result_totext (status));
p = new_permit (MDL);
if (shared->ipv6_pond)
ipv6_pond_reference(&last->next, pond, MDL);
- else
+ else
ipv6_pond_reference(&shared->ipv6_pond, pond, MDL);
shared_network_reference(&pond->shared_network, shared, MDL);
| ip-address6 SLASH number SEMI
| ip-address6 [SLASH number] TEMPORARY SEMI */
-void
+void
parse_address_range6(struct parse *cfile,
struct group *group,
struct ipv6_pond *inpond) {
memset(&net, 0, sizeof(net));
net.cidrnet.lo_addr = lo;
- /*
+ /*
* See if we we're using range or CIDR notation or TEMPORARY
*/
token = peek_token(&val, NULL, cfile);
*/
skip_token(NULL, NULL, cfile);
token = next_token(&val, NULL, cfile);
- if (token != NUMBER) {
+ if (token != NUMBER) {
parse_warn(cfile, "expecting number");
skip_to_semi(cfile);
return;
} else {
/*
- * No '/', so we are looking for the end address of
+ * No '/', so we are looking for the end address of
* the IPv6 pool.
*/
if (!parse_ip6_addr(cfile, &hi)) {
/* Now that we have a pond add the nets we have parsed */
for (p=nets; p != NULL; p=p->next) {
add_ipv6_pool_to_subnet(group->subnet, type,
- &p->cidrnet.lo_addr,
+ &p->cidrnet.lo_addr,
p->cidrnet.bits, 128, pond);
}
/* if we allocated a list free it now */
- if (nets != &net)
+ if (nets != &net)
free_iaddrcidrnetlist(&nets);
ipv6_pond_dereference(&pond, MDL);
/* prefix6-declaration :== ip-address6 ip-address6 SLASH number SEMI */
-void
+void
parse_prefix6(struct parse *cfile,
struct group *group,
struct ipv6_pond *inpond) {
} else {
add_ipv6_pond_to_network(group, &pond);
}
-
+
for (p = nets; p != NULL; p = p->next) {
/* Normalize and check. */
if (p->cidrnet.bits == 128) {
get_permit(cfile, &pond->prohibit_list, 0,
&pond->valid_from, &pond->valid_until);
break;
-
+
case RBRACE:
skip_token(&val, NULL, cfile);
done = 1;
* to repoint the leases to the other pond which is annoying. SAR
*/
- /*
+ /*
* Add this pond to the list (will need updating if we add the
* optimization).
*/
prefer = atoi (val);
/*
- * Currently we peek for the semi-colon to
+ * Currently we peek for the semi-colon to
* allow processing of older lease files that
* don't have the semi-colon. Eventually we
* should remove the peeking code.
valid = atoi (val);
/*
- * Currently we peek for the semi-colon to
+ * Currently we peek for the semi-colon to
* allow processing of older lease files that
* don't have the semi-colon. Eventually we
* should remove the peeking code.
}
break;
-
+
default:
parse_warn(cfile, "corrupt lease file; "
"expecting ia_na contents, "
}
executable_statement_dereference (&on_star[i], MDL);
}
-
+
/* find the pool this address is in */
pool = NULL;
if (find_ipv6_pool(&pool, D6O_IA_NA,
if (ia_hash_lookup(&old_ia, ia_na_active,
(unsigned char *)ia->iaid_duid.data,
ia->iaid_duid.len, MDL)) {
- ia_hash_delete(ia_na_active,
+ ia_hash_delete(ia_na_active,
(unsigned char *)ia->iaid_duid.data,
ia->iaid_duid.len, MDL);
ia_dereference(&old_ia, MDL);
* If we have addresses, add this, otherwise don't bother.
*/
if (ia->num_iasubopt > 0) {
- ia_hash_add(ia_na_active,
+ ia_hash_add(ia_na_active,
(unsigned char *)ia->iaid_duid.data,
ia->iaid_duid.len, ia, MDL);
}
prefer = atoi (val);
/*
- * Currently we peek for the semi-colon to
+ * Currently we peek for the semi-colon to
* allow processing of older lease files that
* don't have the semi-colon. Eventually we
* should remove the peeking code.
valid = atoi (val);
/*
- * Currently we peek for the semi-colon to
+ * Currently we peek for the semi-colon to
* allow processing of older lease files that
* don't have the semi-colon. Eventually we
* should remove the peeking code.
return;
}
}
-
+
break;
-
+
default:
parse_warn(cfile, "corrupt lease file; "
"expecting ia_ta contents, "
}
executable_statement_dereference (&on_star[i], MDL);
}
-
+
/* find the pool this address is in */
pool = NULL;
if (find_ipv6_pool(&pool, D6O_IA_TA,
if (ia_hash_lookup(&old_ia, ia_ta_active,
(unsigned char *)ia->iaid_duid.data,
ia->iaid_duid.len, MDL)) {
- ia_hash_delete(ia_ta_active,
+ ia_hash_delete(ia_ta_active,
(unsigned char *)ia->iaid_duid.data,
ia->iaid_duid.len, MDL);
ia_dereference(&old_ia, MDL);
* If we have addresses, add this, otherwise don't bother.
*/
if (ia->num_iasubopt > 0) {
- ia_hash_add(ia_ta_active,
+ ia_hash_add(ia_ta_active,
(unsigned char *)ia->iaid_duid.data,
ia->iaid_duid.len, ia, MDL);
}
prefer = atoi (val);
/*
- * Currently we peek for the semi-colon to
+ * Currently we peek for the semi-colon to
* allow processing of older lease files that
* don't have the semi-colon. Eventually we
* should remove the peeking code.
valid = atoi (val);
/*
- * Currently we peek for the semi-colon to
+ * Currently we peek for the semi-colon to
* allow processing of older lease files that
* don't have the semi-colon. Eventually we
* should remove the peeking code.
}
break;
-
+
default:
parse_warn(cfile, "corrupt lease file; "
"expecting ia_pd contents, "
}
executable_statement_dereference (&on_star[i], MDL);
}
-
+
/* Find the pool this address is in. We need to check prefix
* lengths too in case the pool has been reconfigured. */
pool = NULL;
* If we have prefixes, add this, otherwise don't bother.
*/
if (ia->num_iasubopt > 0) {
- ia_hash_add(ia_pd_active,
+ ia_hash_add(ia_pd_active,
(unsigned char *)ia->iaid_duid.data,
ia->iaid_duid.len, ia, MDL);
}
#endif /* defined(DHCPv6) */
}
-#ifdef DHCPv6
+#ifdef DHCPv6
/*
- * When we parse a server-duid statement in a lease file, we are
+ * When we parse a server-duid statement in a lease file, we are
* looking at the saved server DUID from a previous run. In this case
* we expect it to be followed by the binary representation of the
* DUID stored in a string:
*
* server-duid 00:01:00:01:1e:68:b3:db:0a:00:27:00:00:02;
*/
-void
+void
parse_server_duid(struct parse *cfile) {
struct data_string duid;
unsigned char bytes[128]; /* Maximum valid DUID is 128 */
* server-duid ll ethernet|ieee802|fddi 00:16:6F:49:7D:9B;
* server-duid en 2495 "enterprise-specific-identifier-1234";
*/
-void
+void
parse_server_duid_conf(struct parse *cfile) {
enum dhcp_token token;
const char *val;
*/
token = next_token(&val, NULL, cfile);
- /*
+ /*
* Enterprise is the easiest - enterprise number and raw data
* are required.
*/
data_string_forget(&duid, MDL);
}
- /*
+ /*
* Next easiest is the link-layer DUID. It consists only of
* the LL directive, or optionally the specific value to use.
*
parse_warn(cfile, "hardware type expected");
skip_to_semi(cfile);
return;
- }
+ }
memset(&ll_addr, 0, sizeof(ll_addr));
if (!parse_cshl(&ll_addr, cfile)) {
return;
duid.data = (unsigned char *)duid.buffer->data;
putUShort(duid.buffer->data, DUID_LL);
putUShort(duid.buffer->data + 2, ll_type);
- memcpy(duid.buffer->data + 4,
+ memcpy(duid.buffer->data + 4,
ll_addr.data, ll_addr.len);
set_server_duid(&duid);
}
}
- /*
+ /*
* Finally the link-layer DUID plus time. It consists only of
* the LLT directive, or optionally the specific value to use.
*
parse_warn(cfile, "hardware type expected");
skip_to_semi(cfile);
return;
- }
-
+ }
+
token = next_token(&val, NULL, cfile);
if (token != NUMBER) {
parse_warn(cfile, "timestamp expected");
putUShort(duid.buffer->data, DUID_LLT);
putUShort(duid.buffer->data + 2, ll_type);
putULong(duid.buffer->data + 4, llt_time);
- memcpy(duid.buffer->data + 8,
+ memcpy(duid.buffer->data + 8,
ll_addr.data, ll_addr.len);
set_server_duid(&duid);
*
* In this case, they have to put in the complete value.
*
- * This also works for existing DUID types of course.
+ * This also works for existing DUID types of course.
*/
else if (token == NUMBER) {
duid_type_num = atoi(val);
}
}
-/*!
+/*!
* \brief Creates a byte-order corrected uint32 from a buffer
*
* This function creates an integer value from a buffer, converting from
}
#endif /* DHCPv6 */
-
]
[
.B -4
-|
+|
.B -6
]
[
There are two versions of the DHCP protocol DHCPv4 and DHCPv6. At
startup the server may be started for one or the other via the
.B -4
-or
+or
.B -6
arguments.
.PP
be launched using the same \fIport\fR argument.
.TP
.BI \-p \ port
-The UDP port number on which
+The UDP port number on which
.B dhcpd
should listen. If unspecified
.B dhcpd
purposes.
.TP
.BI \-s \ address
-Specify an address or host name to which
+Specify an address or host name to which
.B dhcpd
should send replies rather than the broadcast address (255.255.255.255).
This option is only supported in IPv4.
Force
.B dhcpd
to run as a foreground process instead of as a daemon in the background.
-This is useful when running
-.B dhcpd
+This is useful when running
+.B dhcpd
under a debugger, or when running it
out of inittab on System V systems.
.TP
Send log messages to the standard error descriptor.
This can be useful for debugging, and also at sites where a
complete log of all dhcp activity must be kept but syslogd is not
-reliable or otherwise cannot be used. Normally,
+reliable or otherwise cannot be used. Normally,
.B dhcpd
will log all
output using the \fBsyslog(3)\fR function with the log facility set to
LOG_DAEMON. Note that \fB\-d\fR implies \fB\-f\fR (the daemon will
not fork itself into the background).
.TP
-.BI \-q
+.BI \-q
Be quiet at startup. This suppresses the printing of the entire
copyright message during startup. This might be desirable when
starting
Print version number and exit.
.PP
.I Modifying default file locations:
-The following options can be used to modify the locations
+The following options can be used to modify the locations
.B dhcpd
uses for its files. Because of the importance of using the same
lease database at all times when running dhcpd in production, these
.PP
Named groups currently can only be associated with
hosts - this allows one set of statements to be efficiently attached
-to more than one host declaration.
+to more than one host declaration.
.PP
Groups have the following attributes:
.PP
* draws more questions then it helps, so we'll ifdef it out */
log_debug ("%s(%d):scrubbing lease for %s, hostname: %s", file, line,
piaddr(lease->ip_addr), printable(lease->client_hostname));
-#endif
+#endif
if (lease->client_hostname) {
dfree (lease->client_hostname, MDL);
/* ldap_casa.c
-
+
CASA routines for DHCPD... */
/* Copyright (c) 2006 Novell, Inc.
* All rights reserved.
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * 1.Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2.Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3.Neither the name of ISC, ISC DHCP, nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
-
- * THIS SOFTWARE IS PROVIDED BY INTERNET SYSTEMS CONSORTIUM AND CONTRIBUTORS
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * 1.Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2.Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3.Neither the name of ISC, ISC DHCP, nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+
+ * THIS SOFTWARE IS PROVIDED BY INTERNET SYSTEMS CONSORTIUM AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ISC OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ISC OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
* This file was written by S Kalyanasundaram <skalyanasundaram@novell.com>
}
#endif /* LDAP_CASA_AUTH */
-
* \page leasechain structures overview
*
* A brief description of the leasechain structures
- *
+ *
* This file provides additional data structures for a leasecain to
* provide faster access to leases on the queues associated with a pool
* than a linear walk. Each pool has a set of queues: active, free, backup,
* | next |->| next |->NULL
* NULL<- | prev |<-| prev |
* +-------+ +-------+
- *
+ *
* The linked list is maintained in an ordered state. Inserting an entry is
* accomplished by doing a binary search on the array to find the proper place
* in the list and then updating the pointers in the linked list to include the
- * new entry. The entry is added into the array by copying the remainder of
+ * new entry. The entry is added into the array by copying the remainder of
* the array to provide space for the new entry.
* Removing an entry is the reverse.
* The arrays for the queues will be pre-allocated but not all of them will be
* Given a potential range of the array to insert the lease into this routine
* will recursively examine the range to find the proper place in which to
* insert the lease.
- *
+ *
* \param lc The leasechain to add the lease to
* \param lp The lease to insert
* \param min The minium index of the potential range for insertion
*
* \return The index of the array entry to insert the lease
*/
-size_t
+size_t
lc_binary_search_insert_point(struct leasechain *lc,
struct lease *lp,
size_t min, size_t max)
return (lc_binary_search_insert_point(lc, lp,
min, mid_index - 1));
} else if ((lc->list[mid_index]->sort_time < lp->sort_time) ||
- ((lc->list[mid_index]->sort_time == lp->sort_time) &&
+ ((lc->list[mid_index]->sort_time == lp->sort_time) &&
(lc->list[mid_index]->sort_tiebreaker < lp->sort_tiebreaker))) {
if (mid_index == max) {
/* insert in mid_index + 1 as sort_time is smaller */
*
* Given a potential range of the array to search this routine
* will recursively examine the range to find the proper lease
- *
+ *
* \param lc The leasechain to check
* \param lp The lease to find
* \param min The minium index of the search range
if (mid_index == min) {
/* lease not found */
return (SIZE_MAX);
- }
+ }
/* try the lower half of the list */
return (lc_binary_search_lease(lc, lp, min, mid_index - 1));
} else if ((lc->list[mid_index]->sort_time < lp->sort_time) ||
((lc->list[mid_index]->sort_time == lp->sort_time) &&
(lc->list[mid_index]->sort_tiebreaker < lp->sort_tiebreaker))) {
- /* try the upper half of the list */
+ /* try the upper half of the list */
return (lc_binary_search_lease(lc, lp, mid_index + 1, max));
}
/* Are we done with this range? */
if ((i == min) ||
- ((lc->list[i]->sort_time != lp->sort_time) ||
+ ((lc->list[i]->sort_time != lp->sort_time) ||
((lc->list[i]->sort_time == lp->sort_time) &&
(lc->list[i]->sort_tiebreaker != lp->sort_tiebreaker)))) {
break;
/* Check out entries above the mid_index */
if (mid_index < max) {
- /* We will break out of the loop if we either go past the
+ /* We will break out of the loop if we either go past the
* canddiates or hit the end of the range when i == max.
*/
for (i = mid_index + 1; i <= max; i++) {
void *p;
size_t temp_size;
- if (lc->growth == 0)
+ if (lc->growth == 0)
temp_size = lc->total + LC_GROWTH_DELTA;
else
temp_size = lc->total + lc->growth;
sizeof(struct lease *) * (lc->nelem-n));
}
- /* clean any stale pointer info from this position before calling
+ /* clean any stale pointer info from this position before calling
* lease_reference as it won't work if pointer is not NULL
*/
lc->list[n] = NULL;
}
/*!
- *
+ *
* \brief Insert the lease at the specified position in both the lease chain
* and the linked list
*
log_debug("LC check sort %s:%d", MDL);
for (i = 0; i < lc->nelem; i++ ) {
if ((lc->list[i]->sort_time < t) ||
- ((lc->list[i]->sort_time == t) &&
+ ((lc->list[i]->sort_time == t) &&
(lc->list[i]->tiebreaker < tiebreaker))) {
if (i > 0) {
print_lease(lc->list[i-1]);
* The sort_time is set by the caller while the sort_tiebreaker is set here
* The value doesn't much matter as long as it prvoides a way to have different
* values in most of the leases.
- *
+ *
* When choosing a value for tiebreak we choose:
* 0 for the first lease in the queue
* 0 if the lease is going to the end of the queue with a sort_time greater
* During startup when we can take advantage of the fact that leases may already
* be sorted and so check the end of the list to see if we can simply add the
* lease to the end.
- *
+ *
* \param lc The leasechain in which to insert the lease
* \param lp The lease to insert
*
status = omapi_connection_copyin (c,
ip_addrs.data, ip_addrs.len);
- if (status != ISC_R_SUCCESS) {
+ if (status != ISC_R_SUCCESS) {
data_string_forget (&ip_addrs, MDL);
return status;
}
if (status != ISC_R_SUCCESS)
return (status);
- status = omapi_connection_put_named_uint32(c, "backup-leases",
+ status = omapi_connection_put_named_uint32(c, "backup-leases",
((u_int32_t)
pool->backup_leases));
if (status != ISC_R_SUCCESS)
FM_OFFSET(ip_flags), FTB_IP_FLAGS },
{ FTO_LEASE_EXPIRY, "lease-expiration-time", FT_UINT32, 1,
FM_OFFSET(expiry), FTB_LEASE_EXPIRY },
- { FTO_MAX_UNACKED, "max-unacked-bndupd", FT_UINT32, 1,
+ { FTO_MAX_UNACKED, "max-unacked-bndupd", FT_UINT32, 1,
FM_OFFSET(max_unacked), FTB_MAX_UNACKED },
{ FTO_MCLT, "MCLT", FT_UINT32, 1, FM_OFFSET(mclt), FTB_MCLT },
{ FTO_MESSAGE, "message", FT_TEXT, 0,
the code from using an improper client id earlier and restoring
the hash code to its previous state. As we may choose to
redo the hash code again this test hasn't been deleted.
-*/
+*/
/* this test is a direct reproduction of 29851 issue */
ATF_TC(uid_hash_rt29851);
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
@EXPORT = qw( $MSG_SOLICIT $MSG_ADVERTISE $MSG_REQUEST $MSG_CONFIRM
$MSG_RENEW $MSG_REBIND $MSG_REPLY $MSG_RELEASE $MSG_DECLINE
$MSG_RECONFIGURE $MSG_INFORMATION_REQUEST $MSG_RELAY_FORW
- $MSG_RELAY_REPL
+ $MSG_RELAY_REPL
$OPT_CLIENTID $OPT_SERVERID $OPT_IA_NA $OPT_IA_TA $OPT_IAADDR
$OPT_ORO $OPT_PREFERENCE $OPT_ELAPSED_TIME $OPT_RELAY_MSG
$OPT_AUTH $OPT_UNICAST $OPT_STATUS_CODE $OPT_RAPID_COMMIT
- $OPT_USER_CLASS $OPT_VENDOR_CLASS $OPT_VENDOR_OPTS
- $OPT_INTERFACE_ID $OPT_RECONF_MSG $OPT_RECONF_ACCEPT
+ $OPT_USER_CLASS $OPT_VENDOR_CLASS $OPT_VENDOR_OPTS
+ $OPT_INTERFACE_ID $OPT_RECONF_MSG $OPT_RECONF_ACCEPT
$SOL_MAX_DELAY $SOL_TIMEOUT $SOL_MAX_RT $REQ_TIMEOUT
$REQ_MAX_RT $REQ_MAX_RC $CNF_MAX_DELAY $CNF_MAX_RT
$CNF_MAX_RD $REN_TIMEOUT $REN_MAX_RT $REB_TIMEOUT $REB_MAX_RT
CL_OPTION_DOCSIS_VERS => 38,
);
my %docsis_num_type = reverse(%docsis_type_num);
-
+
use strict;
use English;
use POSIX;
}
}
my @mac_addrs;
- foreach my $line (split(/\n/, `arp -an 2>/dev/null`)) {
+ foreach my $line (split(/\n/, `arp -an 2>/dev/null`)) {
my @parts = split(/\s+/, $line);
my $ip = $parts[1];
my $mac = $parts[-1];
if (($type == 1) || ($type == 3)) {
my $mac_addr = mac_addr_binary();
- if ($type == 1) {
+ if ($type == 1) {
my $time = pack("N", dhcpv6_time());
return "\x00\x01\x00\x01${time}${mac_addr}";
} else {
if (defined $trans_id) {
$this->{trans_id} = $trans_id;
} else {
- $this->{trans_id} = chr(rand(256)) .
+ $this->{trans_id} = chr(rand(256)) .
chr(rand(256)) . chr(rand(256));
}
$this->{options} = [ ];
my $num_servers = length($data) / 16;
for (my $i=0; $i<$num_servers; $i++) {
my $srv = inet_ntop(AF_INET6, substr($data, $i*16, 16));
- print "$indent TFTP server ", ($i+1), ": ";
+ print "$indent TFTP server ", ($i+1), ": ";
print uc($srv), "\n";
}
} elsif ($docsis_num_type{$num} eq "CL_OPTION_CONFIG_FILE_NAME") {
my $num_servers = length($data) / 16;
for (my $i=0; $i<$num_servers; $i++) {
my $srv = inet_ntop(AF_INET6, substr($data, $i*16, 16));
- print "$indent syslog server ", ($i+1), ": ";
+ print "$indent syslog server ", ($i+1), ": ";
print uc($srv), "\n";
}
}
}
print "\n";
}
- } elsif (($num == $dhcp_client::OPT_CLIENTID) ||
+ } elsif (($num == $dhcp_client::OPT_CLIENTID) ||
($num == $dhcp_client::OPT_SERVERID)) {
print $indent, " ";
if (length($data) > 0) {
}
print "\n";
} elsif ($num == $dhcp_client::OPT_IA_NA) {
- printf "${indent} IAID: 0x\%08X\n",
+ printf "${indent} IAID: 0x\%08X\n",
unpack("N", substr($data, 0, 4));
printf "${indent} T1: \%d\n", unpack("N", substr($data, 4, 4));
printf "${indent} T2: \%d\n", unpack("N", substr($data, 8, 4));
}
}
} elsif ($num == $dhcp_client::OPT_IAADDR) {
- printf "${indent} IPv6 address: \%s\n",
+ printf "${indent} IPv6 address: \%s\n",
uc(inet_ntop(AF_INET6, substr($data, 0, 16)));
printf "${indent} Preferred lifetime: \%d\n",
unpack("N", substr($data, 16, 4));
}
print "\n";
print "${indent} Message: \"$msg\"\n";
- }
+ }
}
-# XXX: we aren't careful about packet boundaries and values...
+# XXX: we aren't careful about packet boundaries and values...
# DO NOT RUN ON PRODUCTION SYSTEMS!!!
sub decode {
my ($packet, $print) = @_;
return $msg;
}
-
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-
$vsio .= pack("nnC*", $DOCSIS_OPT_ORO, 0+@docsis_oro, @docsis_oro);
# TLV5 data: CMTS DOCSIS version number 3.0 (required by DOCSIS)
-my $tlv5_data = "\x01\x02\x03\x0";
+my $tlv5_data = "\x01\x02\x03\x0";
$vsio .= pack("nn", $DOCSIS_OPT_TLV5, length($tlv5_data)) . $tlv5_data;
# DOCSIS Device (required by DOCSIS)
socket(SOCK, PF_INET6, SOCK_DGRAM, getprotobyname('udp')) || die;
my $addr = inet_pton(AF_INET6, $All_DHCP_Servers);
my $packet = $msg->packet();
- my $send_ret = send(SOCK, $packet, 0,
+ my $send_ret = send(SOCK, $packet, 0,
pack_sockaddr_in6($server_port, $addr));
if (not defined($send_ret)) {
- printf STDERR
+ printf STDERR
"Error \%d sending DHCPv6 Solicit message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
my $rt_end_time = time() + $RT;
- if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
+ if (defined($mrd_end_time) && ($mrd_end_time > $rt_end_time)) {
$rt_end_time = $mrd_end_time;
}
if (@ready) {
my $reply;
my $recv_ret;
-
+
$recv_ret = recv(SOCK, $reply, 1500, 0);
if (not defined $recv_ret) {
- printf STDERR
- "Error \%d receiving DHCPv6 " .
+ printf STDERR
+ "Error \%d receiving DHCPv6 " .
"message;\n\%s\n",
0+$ERRNO, $ERRNO;
exit(1);
}
}
-} until ($reply_msg ||
+} until ($reply_msg ||
(($MRC != 0) && ($count > $MRC)) ||
(defined($mrd_end_time) && ($mrd_end_time > time())));
unless ($reply_msg) {
if (($MRC != 0) && ($count >= $MRC)) {
- print STDERR
+ print STDERR
"No reply after maximum retransmission count.\n";
} else {
- print STDERR
+ print STDERR
"No reply after maximum retransmission duration.\n";
}
}
#print Dumper($msg->packet()), "\n";
#
#print "packet length: ", length($msg->packet()), "\n";
-