-in certain fields of an outgoing packet. The header of an
-IDP-level packet looks like:
-.DS
-.if t .ta \w'struct 'u +\w" struct ns_addr"u +2.0i
-struct idp {
- u_short idp_sum; /* Checksum */
- u_short idp_len; /* Length, in bytes, including header */
- u_char idp_tc; /* Transport Control (i.e., hop count) */
- u_char idp_pt; /* Packet Type (i.e., level 2 protocol) */
- struct ns_addr idp_dna; /* Destination Network Address */
- struct ns_addr idp_sna; /* Source Network Address */
-};
-.DE
-Most of the fields are filled in automatically; the only
-field that the user should be concerned with is the
-\fIpacket type\fP field. The standard values for this
-field are (as defined in <\fInetns/ns.h\fP>):
-.DS
-.if t .ta \w" #define"u +\w" NSPROTO_ERROR"u +1.0i
-#define NSPROTO_RI 1 /* Routing Information */
-#define NSPROTO_ECHO 2 /* Echo Protocol */
-#define NSPROTO_ERROR 3 /* Error Protocol */
-#define NSPROTO_PE 4 /* Packet Exchange */
-#define NSPROTO_SPP 5 /* Sequenced Packet */
-.DE
-For SPP connections, the contents of this field are
-automatically set to NSPROTO_SPP; for IDP packets,
-this value defaults to zero, which means ``unknown''.
+in certain fields of an outgoing packet.
+Using different calls to \fIsetsockopt\fP, it is possible
+to indicate whether prototype headers will be associated by
+the user with each outgoing packet (SO_HEADERS_ON_OUTPUT),
+to indicate whether the headers received by the system should be
+delivered to the user (SO_HEADERS_ON_INPUT), or to indicate
+default information that should be associated with all
+outgoing packets on a given socket (SO_DEFAULT_HEADERS).