At 00:26 22.04.99 -0700, you wrote:
>Hi,
Hallo,

>I like the idea, can you include a Win32 platform 
>in the head file.

Whatever we do, we should decide to do it quickly.
There seem to be hiding a lot of size dependencies in the code...

The file has some disadvantages:

1. There are no processor dependencies
   (Linux on X86 is different than linux on Alpha,...)
2. Not every processor supports 64 bit
   So we need somethiong to do:
   #ifdef HAS_64_BITS
   ... 64 bit code ...
   #else
   ... 32b bit code ...
   #endif

I did a little bit of rewriting:

#ifndef ossize_H
#define ossize_H

/* Typedefs */

typedef unsigned char           UInt8;
typedef signed char             SInt8;
typedef unsigned short          UInt16;
typedef signed short            SInt16;
typedef unsigned long           UInt32;
typedef signed long             SInt32;

typedef float                   Float32;
typedef short double            Float64;

typedef unsigned long           FourCharCode;
typedef FourCharCode            OSType;

/* Platform-specific components */
#if __FreeBSD__
        /* Defines */
        #define HAVE_64BIT_PRINTF       1
        #define HAVE_64BIT_PRINTF_AS_LL 0

        #define HAVE_64BIT

        /* Includes */
        #include <sys/types.h>
        
        /* Constants */
        #define QT_PATH_SEPARATOR       '/'

        /* Typedefs */
        typedef signed long long        SInt64;
        typedef unsigned long long      UInt64;
        
#elif __MACOS__
        /* Defines */
        #define HAVE_64BIT_PRINTF       0
        #define HAVE_64BIT_PRINTF_AS_LL 0
        
        /* Constants */
        #define QT_PATH_SEPARATOR       ':'
        
        /* Typedefs */
#if 0
        typedef signed long long        SInt64;
        typedef unsigned long long      UInt64;
#endif
        
#elif __MacOSX__
        /* Defines */
        #define HAVE_64BIT_PRINTF       1
        #define HAVE_64BIT_PRINTF_AS_LL 0

        #define HAVE_64BIT

        /* Includes */
        #include <sys/types.h>
        
        /* Constants */
        #define QT_PATH_SEPARATOR       '/'

        /* Typedefs */
        typedef signed long long        SInt64;
        typedef unsigned long long      UInt64;

#elif defined(sun) && defined(sparc)
        /* Defines */
        #define HAVE_64BIT_PRINTF       1
        #define HAVE_64BIT_PRINTF_AS_LL 1

        #define HAVE_64BIT

        /* Includes */
        #include <sys/types.h>
        #include <sys/byteorder.h>
        
        /* Constants */
        #define QT_PATH_SEPARATOR       '/'

        /* Typedefs */
        typedef unsigned char           bool;
        #define true                    1
        #define false                   0
        typedef signed long long        SInt64;
        typedef unsigned long long      UInt64;
        
#endif

#endif /* ossize_H */

Any comments / additions ?

By

Goetz

-- 
Goetz Babin-Ebell                      mailto:[EMAIL PROTECTED]
TC Trust Center for Security           http://www.trustcenter.de
in Data Networks GmbH                  Tel.: +49-40-766 29 3301
Am Werder 1 / 21073 Hamburg / Germany  Fax.: +49-40-766 29 577
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to