datatracker.ietf.org
Sign in
Version 5.4.0, 2014-04-22
Report a bug

XDR: External Data Representation Standard
RFC 4506

Document type: RFC - Internet Standard (May 2006; Errata)
Obsoletes RFC 1832
Also Known As STD 67
Document stream: IETF
Last updated: 2013-03-02
Other versions: plain text, pdf, html

IETF State: (None)
Consensus: Unknown
Document shepherd: No shepherd assigned

IESG State: RFC 4506 (Internet Standard)
Responsible AD: Jon Peterson
Send notices to: beepy@netapp.com, spencer.shepler@sun.com

Network Working Group                                     M. Eisler, Ed.
Request for Comments: 4506                       Network Appliance, Inc.
STD: 67                                                         May 2006
Obsoletes: 1832
Category: Standards Track

               XDR: External Data Representation Standard

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   This document describes the External Data Representation Standard
   (XDR) protocol as it is currently deployed and accepted.  This
   document obsoletes RFC 1832.

Eisler                      Standards Track                     [Page 1]
RFC 4506       XDR: External Data Representation Standard       May 2006

Table of Contents

   1. Introduction ....................................................3
   2. Changes from RFC 1832 ...........................................3
   3. Basic Block Size ................................................3
   4. XDR Data Types ..................................................4
      4.1. Integer ....................................................4
      4.2. Unsigned Integer ...........................................4
      4.3. Enumeration ................................................5
      4.4. Boolean ....................................................5
      4.5. Hyper Integer and Unsigned Hyper Integer ...................5
      4.6. Floating-Point .............................................6
      4.7. Double-Precision Floating-Point ............................7
      4.8. Quadruple-Precision Floating-Point .........................8
      4.9. Fixed-Length Opaque Data ...................................9
      4.10. Variable-Length Opaque Data ...............................9
      4.11. String ...................................................10
      4.12. Fixed-Length Array .......................................11
      4.13. Variable-Length Array ....................................11
      4.14. Structure ................................................12
      4.15. Discriminated Union ......................................12
      4.16. Void .....................................................13
      4.17. Constant .................................................13
      4.18. Typedef ..................................................13
      4.19. Optional-Data ............................................14
      4.20. Areas for Future Enhancement .............................16
   5. Discussion .....................................................16
   6. The XDR Language Specification .................................17
      6.1. Notational Conventions ....................................17
      6.2. Lexical Notes .............................................18
      6.3. Syntax Information ........................................18
      6.4. Syntax Notes ..............................................20
   7. An Example of an XDR Data Description ..........................21
   8. Security Considerations ........................................22
   9. IANA Considerations ............................................23
   10. Trademarks and Owners .........................................23
   11. ANSI/IEEE Standard 754-1985 ...................................24
   12. Normative References ..........................................25
   13. Informative References ........................................25
   14. Acknowledgements ..............................................26

Eisler                      Standards Track                     [Page 2]
RFC 4506       XDR: External Data Representation Standard       May 2006

1.  Introduction

   XDR is a standard for the description and encoding of data.  It is
   useful for transferring data between different computer
   architectures, and it has been used to communicate data between such
   diverse machines as the SUN WORKSTATION*, VAX*, IBM-PC*, and Cray*.
   XDR fits into the ISO presentation layer and is roughly analogous in
   purpose to X.409, ISO Abstract Syntax Notation.  The major difference
   between these two is that XDR uses implicit typing, while X.409 uses
   explicit typing.

   XDR uses a language to describe data formats.  The language can be
   used only to describe data; it is not a programming language.  This
   language allows one to describe intricate data formats in a concise

[include full document text]