Sync usage with man page.
[netbsd-mini2440.git] / share / man / man4 / man4.hp300 / rmp.4
blobd76cd9d08f0efba520f5c0ffd1ad2c4e192403d3
1 .\" Copyright (c) 1990, 1991 The Regents of the University of California.
2 .\" All rights reserved.
3 .\"
4 .\" This code is derived from software contributed to Berkeley by
5 .\" the Systems Programming Group of the University of Utah Computer
6 .\" Science Department.
7 .\" Redistribution and use in source and binary forms, with or without
8 .\" modification, are permitted provided that the following conditions
9 .\" are met:
10 .\" 1. Redistributions of source code must retain the above copyright
11 .\"    notice, this list of conditions and the following disclaimer.
12 .\" 2. Redistributions in binary form must reproduce the above copyright
13 .\"    notice, this list of conditions and the following disclaimer in the
14 .\"    documentation and/or other materials provided with the distribution.
15 .\" 3. Neither the name of the University nor the names of its contributors
16 .\"    may be used to endorse or promote products derived from this software
17 .\"    without specific prior written permission.
18 .\"
19 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 .\" SUCH DAMAGE.
30 .\"
31 .\"     from: @(#)rmp.4 5.2 (Berkeley) 3/27/91
32 .\"     $NetBSD: rmp.4,v 1.9 2003/05/15 10:20:48 wiz Exp $
33 .\"
34 .Dd May 15, 2003
35 .Dt RMP 4 hp300
36 .Os
37 .Sh NAME
38 .Nm rmp
39 .Nd
40 .Tn HP
41 Remote Maintenance Protocol Family
42 .Sh SYNOPSIS
43 .Cd "options RMP"
44 .In sys/types.h
45 .In sys/socket.h
46 .In netrmp/rmp.h
47 .In netrmp/rmp_var.h
48 .Ft int
49 .Fn socket AF_RMP SOCK_RAW proto
50 .Sh DESCRIPTION
51 Hewlett-Packard's Remote Maintenance Protocol family is a collection
52 of protocols layered atop
53 .Tn IEEE  802.3 .
54 The current implementation of the RMP family provides protocol support only
55 for the
56 .Dv SOCK_RAW
57 socket type.
58 As a result,
59 .Xr sendto 2
60 and
61 .Xr recvfrom 2
62 must be used to send and
63 receive
64 .Tn RMP
65 packets.
66 .Pp
67 The format of an
68 .Tn RMP
69 packet is defined in the include file
70 .Aq Pa netrmp/rmp_var.h .
71 The
72 .Tn RMP
73 packet arrives encapsulated in an
74 .Pf ( Tn HP
75 extended)
76 .Tn IEEE  802.2
77 packet.
78 The
79 .Tn IEEE  802.2
80 packet
81 is preceded by the kernel address of an
82 .Ar ifnet struct
83 which is used to `route' a packet out the same interface it
84 arrived on.
85 Outgoing packets are encapsulated in a standard
86 .Tn IEEE  802.3
87 packet, while incoming packets have this information stripped away.
88 .Sh ADDRESSING
89 .Tn RMP
90 .Pf ( Tn IEEE
91 802.3) addresses are 6 octets in length (48 bytes).
92 Sockets in the Remote Maintenance Protocol family use the following
93 addressing structure:
94 .Bd -literal -offset indent
95 struct sockaddr_rmp {
96         short           srmp_family;
97         u_char          srmp_dhost[6];
99 .Ed
100 .Sh PROTOCOLS
102 .Tn RMP
103 protocol family supported by the operating system
104 currently consists of the Boot Protocol
105 .Pq Em proto= Ns Dv RMPPROTO_BOOT .
106 Unfortunately, we have no documentation on the Remote Maintenance
107 Protocol and only sketchy information about the Boot Protocol.
108 .Sh SEE ALSO
109 .Xr bind 2 ,
110 .Xr recvfrom 2 ,
111 .Xr sendto 2 ,
112 .Xr socket 2 ,
113 .Xr intro 4 ,
114 .Xr rbootd 8
116 .%T "An Introductory 4.4BSD Interprocess Communication Tutorial"
117 .%A Stuart Sechrest
119 .Pq see Pa /usr/share/doc/psd/20.ipctut
121 .%T "Advanced 4.4BSD IPC Tutorial"
122 .%A Samuel J. Leffler
123 .%A Robert S. Fabry
124 .%A William N. Joy
125 .%A Phil Lapsley
126 .%A Steve Miller
127 .%A Chris Torek
129 .Pq see Pa /usr/share/doc/psd/21.ipc
130 .Sh HISTORY
133 protocol interface
135 .Sh BUGS
136 .Bl -bullet
139 .Tn HP ROM
140 uses
141 .Tn IEEE
142 802.3 (as opposed to Ethernet) packets.  While the
143 kernel heuristically recognizes these packets, a more general mechanism
144 for doing so should be provided.
147 .Tn HP ROM
148 uses a multicast address when first trying to locate boot
149 servers.  While the Ethernet [sic] board is programmed to recognize
150 this particular multicast address (9:0:9:0:0:4), a more general
151 mechanism for doing so should be provided.
153 The kernel supports only
154 .Tn RAW
155 sockets for the
156 .Tn RMP
157 protocol.
158 This is either a bug or a feature, since the kernel is smaller at the
159 price of greater complexity in the server.
161 There is no support for
162 .Xr bind 2 Ns 'ing
163 an address in the
164 .Tn RMP
165 domain.
166 Something like an
167 .Dv RMPADDR_ANY
168 should be provided to prevent more than one
169 .Xr rbootd 8
170 server from running at the same time.