Copyright © 2008 by the Institute of Electrical and Electronics Engineers, Inc.
and The Open Group
All rights reserved.

Published 1 December 2008 by the IEEE and The Open Group.

No part of this publication may be reproduced in any form, in an electronic
retrieval system or otherwise, without the prior written permission of the
publisher. Permission to reproduce all or any part of this standard must be with
the consent of both copyright holders and may be subject to a license fee. Both
copyright holders will need to be satisfied that the other has granted
permission. Requests should be sent by email to
austin-group-permissions@opengroup.org.

This standard has been prepared by the Austin Group. Feedback relating to the
material contained within this standard may be submitted by using the Austin
Group web site at www.opengroup.org/austin/defectform.html.

Copyrights

This document is copyrighted by the IEEE and The Open Group. It is made
available for a wide variety of both public and private uses. These include both
use, by reference, in laws and regulations, and use in private self-regulation,
standardization, and the promotion of engineering practices and methods. By
making this document available for use and adoption by public authorities and
private users, the IEEE and The Open Group do not waive any rights in copyright
to this document.
