Dmcp format – Delta RMC101 User Manual
Page 3
DMCP User Guide
Page 3 of 9
October 23, 2001
DMCP Format
DMCP is a simple request/response protocol. Once the client has an open TCP or UDP
connection, the client sends a request packet and the server responds with a packet. Of
course, UDP has no communication connection, but some API’s, including BSD sockets,
allow opening a virtual connection to avoid entering the IP address in every function call.
The client may send several requests—the server must respond in the order received—but
it is intended that only a few requests are made at a time, so the server can be designed
accordingly.
DMCP request packets have this simple format:
PktLen
00
FC-specific data
Ver SeqNum
FC
DMCP response packets have the exact same format as the request except that function
codes will have response bits set (see below) and the FC-specific data will be different.
NOTE: Prior to RMC ENET firmware 20000420, the RMC used version 1 of the packet
format, which is not documented here. We recommend instead upgrading to
20001108 or newer firmware.
The above fields are each described below:
•
PktLen
This field gives the number of bytes in the entire packet excluding only the 2-byte
PktLen field. The valid range for this field is 5 to 1034 when using UDP and 5 to
4106 when using TCP.
•
Ver
This gives the packet format version. Currently, this should be 02.
•
SeqNum
The sequence number is echoed in the response from a server. The client need not
use this field, but when the UDP transport is used, it is highly recommended that the
sequence number be used to ensure that the responses received match the requests,
since packets can arrive out of order.
•
FC (Function Code)
This single-byte field identifies the operation that will be made. The rest of this
document describes function codes and their usage. Function codes will always be
displayed in hexadecimal to simplify this document. Valid function code requests
will always fall between 00 and 1F. Response function codes will be fall into two
categories. Success response function codes are equal to the request function code
plus 80 (i.e. the range is 80 to 9F). Failure response function codes are equal to the
request function code plus 40 (i.e. the range is 40 to 5F).
•
FC-specific data
Many function codes require additional data in the request and/or response packets.