home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 11 / 11.iso / n / n001 / 2.ddi / EXAMPLES / UNION / COMMON / UNION.RPC
Encoding:
Text File  |  1989-12-11  |  1.9 KB  |  52 lines

  1. %h{
  2. /*                                                                            *
  3.  *                                                                            *
  4.  *                  Copyright 1987, 1988, 1989 Netwise, Inc.                  *
  5.  *                              All Rights Reserved                           *
  6.  *   This software contains information which is proprietary to and a trade   *
  7.  *   secret of Netwise, Inc. It is not to be used, reproduced, or disclosed   *
  8.  *   except as authorized in your license agreement.                          *
  9.  *                                                                            *
  10.  *                          Restricted Rights Legend                          *
  11.  *   Use, duplication,  or  disclosure  by the  Government  is  subject  to   *
  12.  *   restrictions as set forth in subparagraph (c)(1)(ii) of the Rights  in   *
  13.  *   Technical Data and  Computer Software clause  at 252.227-7013, or  the   *
  14.  *   equivalent Government clause for other agencies.                         *
  15.  *   Contractor: Netwise, Inc., Boulder, CO 80301 USA                         *
  16.  *                                                                            *
  17.  */ 
  18. %}
  19.  
  20. /*
  21.  * File: union\common\union.rpc
  22.  *
  23.  * This RPC file runs in the following environment:
  24.  *    NetWare RPC 1.0, NetWare 2.1 or higher, DOS 3.3
  25.  *
  26.  * This is the RPC Specification file for the union example.
  27.  */
  28.  
  29. %h {
  30. enum utype { FLOAT, LONG };
  31. %}
  32.  
  33. /* This declaration defines an implicit, non-persistent binding.
  34.  * server_name is a predefined binding type (typedef char *server_name).
  35.  */
  36. extern server_name [bind in] sname;
  37.  
  38. typedef struct {
  39.     enum utype class;
  40.     union {
  41.         ($$->class == FLOAT) float f;
  42.         ($$->class == LONG) long l;
  43.         (1) int i;
  44.     } inst;
  45. } object;
  46.  
  47. object
  48. get_next();
  49. /* function whose return value is of type object, a structure that
  50.  * include a union.
  51.  */
  52.