home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / fns101.zip / Add-Ons / Fnorb / src / longlong.h < prev    next >
C/C++ Source or Header  |  1999-06-28  |  2KB  |  86 lines

  1. /***************************************************************
  2.  
  3.   Copyright (C) DSTC Pty Ltd (ACN 052 372 577) 1997, 1998, 1999
  4.   Unpublished work.  All Rights Reserved.
  5.  
  6.   The software contained on this media is the property of the
  7.   DSTC Pty Ltd.  Use of this software is strictly in accordance
  8.   with the license agreement in the accompanying LICENSE.HTML
  9.   file.  If your distribution of this software does not contain
  10.   a LICENSE.HTML file then you have no rights to use this
  11.   software in any manner and should contact DSTC at the address
  12.   below to determine an appropriate licensing arrangement.
  13.  
  14.      DSTC Pty Ltd
  15.      Level 7, GP South
  16.      Staff House Road
  17.      University of Queensland
  18.      St Lucia, 4072
  19.      Australia
  20.      Tel: +61 7 3365 4310
  21.      Fax: +61 7 3365 4311
  22.      Email: enquiries@dstc.edu.au
  23.  
  24.   This software is being provided "AS IS" without warranty of
  25.   any kind.  In no event shall DSTC Pty Ltd be liable for
  26.   damage of any kind arising out of or in connection with
  27.   the use or performance of this software.
  28.  
  29.  
  30.   Project:      Fnorb
  31.   File:         $Source: /units/arch/src/Fnorb/src/RCS/longlong.h,v $
  32.   Version:      @(#)$RCSfile: longlong.h,v $ $Revision: 1.1 $
  33.  
  34.  
  35.   Description:    Definitions for the implementation of CORBA 'long long's.
  36.  
  37. ****************************************************************/
  38. #ifndef LONGLONG_H
  39. #define LONGLONG_H
  40.  
  41. #if defined (__cplusplus)
  42. extern "C" {
  43. #endif
  44.  
  45. #if !defined(lint)
  46. static const char rcs_LONGLONG_H[] = "@(#)$RCSfile: longlong.h,v $ $Revision: 1.1 $";
  47. #endif
  48.  
  49. /*
  50.  * Application library includes (e.g., X, DCE)
  51.  */
  52. #include "Python.h"                /* Python API        */
  53.  
  54. /*
  55.  * Project library includes              
  56.  */
  57. #include "fnorb.h"
  58.  
  59. /* To allow for 64-bit integers on 32-bit platforms, we implement them as
  60.  * as raw octets!
  61.  */
  62. typedef struct {
  63.     CORBA_octet octets[8];
  64.  
  65. } CORBA_longlong, CORBA_unsigned_longlong;
  66.  
  67. /* 'Methods' on the 'long long' types. */
  68. void
  69. ulonglong_from_py_long(CORBA_unsigned_longlong* ulonglong, PyObject* py_long);
  70.  
  71. PyObject*
  72. ulonglong_to_py_long(CORBA_unsigned_longlong* ulonglong);
  73.  
  74. void
  75. longlong_from_py_long(CORBA_longlong* longlong, PyObject* py_long);
  76.  
  77. PyObject*
  78. longlong_to_py_long(CORBA_longlong* longlong);
  79.  
  80. #if defined (__cplusplus)
  81. }
  82. #endif
  83.  
  84. /***************************************************************/
  85. #endif /* LONGLONG_H */
  86.