⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vcitypes.h

📁 这是DVD中伺服部分的核心代码
💻 H
📖 第 1 页 / 共 3 页
字号:

#if defined(FALSE)
#warning "Redefining FALSE in vcitypes.h"
#undef FALSE
#endif  /* FALSE */
#define FALSE                           (1 == 0)


#include <stdio.h>
#include <string.h>
#define DBG_PRINT(x) \
do { \
    char const * const _s = strrchr(__FILE__, '/'); \
    \
    (void)printf("%s: %d: %s(): ", (_s == NULL ? __FILE__ : (_s + 1)), \
        __LINE__, __FUNCTION__); \
    (void)printf x; (void)printf("\n"); \
} while (FALSE);


/**
 * @def MIN(x, y)
 * Evaluates to the minimum of x and y.
 */
/**
 * @def MAX(x, y)
 * Evaluates to the maximum of x and y.
 */
#if defined(MIN)
#warning "Redefining MIN in vcitypes.h"
#undef MIN
#endif  /* MIN */
#define MIN(x, y)                       (((x) < (y)) ? (x) : (y))

#if defined(MAX)
#warning "Redefining MAX in vcitypes.h"
#undef MAX
#endif  /* MAX */
#define MAX(x, y)                       (((x) > (y)) ? (x) : (y))


typedef unsigned char uint8;
typedef unsigned short uint16;
typedef unsigned long uint32;
typedef signed char int8;
typedef signed short int16;
typedef signed long int32;
#if (defined(__GNUC__) && !defined(__STRICT_ANSI__))
#if (__WORDSIZE == 64)
typedef unsigned long uint64;
typedef signed long int64;
#else
typedef unsigned long long uint64;
typedef signed long long int64;
#endif  /* __WORDSIZE == 64 */
#endif  /* (defined(__GNUC__) && !defined(__STRICT_ANSI__)) */


typedef signed char CHAR;
typedef signed short WCHAR;
typedef signed short SHORT;
typedef signed int LONG;
#if (defined(__GNUC__) && !defined(__STRICT_ANSI__))
#if (__WORDSIZE == 64)
typedef signed long LONGLONG;
#else
typedef signed long long LONGLONG;
#endif  /* __WORDSIZE == 64 */
#endif  /* (defined(__GNUC__) && !defined(__STRICT_ANSI__)) */

typedef unsigned char BYTE;
typedef unsigned char UCHAR;
typedef unsigned short USHORT;
typedef unsigned int ULONG;
#if (defined(__GNUC__) && !defined(__STRICT_ANSI__))
#if (__WORDSIZE == 64)
typedef unsigned long ULONGLONG;
#else
typedef unsigned long long ULONGLONG;
#endif  /* __WORDSIZE == 64 */
#endif  /* (defined(__GNUC__) && !defined(__STRICT_ANSI__)) */

typedef float FLOAT;
typedef double DOUBLE;
/*@-isoreserved@*/
typedef unsigned int ERR_CODE;
/*@=isoreserved@*/
typedef int BOOLEAN;

typedef void *PVOID;
typedef char *STR;
typedef BYTE *PBYTE;


extern inline unsigned int hweight32(uint32 x)
{
    uint32 w;

    w = (x & 0x55555555) + ((x >> 1) & 0x55555555);
    w = (w & 0x33333333) + ((w >> 2) & 0x33333333);
    w = (w & 0x0F0F0F0F) + ((w >> 4) & 0x0F0F0F0F);
    w = (w & 0x00FF00FF) + ((w >> 8) & 0x00FF00FF);
    w = (w & 0x0000FFFF) + ((w >> 16) & 0x0000FFFF);
    return((unsigned int)w);
}

extern inline unsigned int hweight16(uint16 x)
{
    uint16 w;

    w = (x & 0x5555) + ((x >> 1) & 0x5555);
    w = (w & 0x3333) + ((w >> 2) & 0x3333);
    w = (w & 0x0F0F) + ((w >> 4) & 0x0F0F);
    w = (w & 0x00FF) + ((w >> 8) & 0x00FF);
    return((unsigned int)w);
}

extern inline unsigned int hweight8(uint8 x)
{
    uint8 w;

    w = (x & 0x55) + ((x >> 1) & 0x55);
    w = (w & 0x33) + ((w >> 2) & 0x33);
    w = (w & 0x0F) + ((w >> 4) & 0x0F);
    return((unsigned int)w);
}
#endif

#ifdef __CYGWIN__
/*****************************************************************************
******************************************************************************
**                                                                          **
**  Compiler / Platform:                                                    **
**    CygWin                                                                **
**                                                                          **
**  Author:                                                                 **
**    Arthur Shipkowski                                                     **
**                                                                          **
**  Maintainer:                                                             **
**    Arthur Shipkowski                                                     **
**                                                                          **
**  Notes:                                                                  **
**    NONE                                                                  **
**                                                                          **
**  Revision History:                                                       **
**    03/14/02  AES   File origination                                      **
**                                                                          **
******************************************************************************
*****************************************************************************/

/*********************/
/* Value-based Types */
/*********************/
typedef signed char CHAR;                         /* 8  bits - signed character */
typedef signed short WCHAR;                       /* 16 bits - signed character (Unicode) */
typedef signed short SHORT;                       /* 16 bits - signed integer */
typedef signed int  LONG;                         /* 32 bits - signed integer */
#ifdef __alpha__
typedef signed long LONGLONG;                     /* 64 bits - signed integer */
#else
typedef signed long long LONGLONG;                /* 64 bits - signed integer */
#endif
typedef unsigned char BYTE;                       /* 8  bits - unsigned integer */
typedef unsigned char UCHAR;                      /* 8  bits - unsigned integer */
typedef unsigned short USHORT;                    /* 16 bits - unsigned integer */
typedef unsigned int  ULONG;                      /* 32 bits - unsigned integer */
#ifdef __alpha__
typedef unsigned long ULONGLONG;                  /* 64 bits - unsigned integer */
#else
typedef unsigned long long ULONGLONG;             /* 64 bits - unsigned integer */
#endif
typedef float FLOAT;                              /* 32 bits - floating point (real) */
typedef double DOUBLE;                            /* 64 bits - double precision */
typedef unsigned int ERR_CODE;                    /* 32 bits - unsigned integer */
typedef unsigned char BOOLEAN;                    /* 8  bits - boolean */

typedef unsigned char       uint8;
typedef unsigned short      uint16;
typedef unsigned long       uint32;
typedef unsigned long long  uint64;
typedef signed long         int32;
typedef signed long long    int64;

/* Boolean values -- I think these are predefined, but it's best to be sure */
#ifndef TRUE                                      /* TRUE = 1 */
#define TRUE (1)
#endif

#ifndef FALSE                                     /* FALSE = 0 */
#define FALSE (0)
#endif

/*****************/
/* Pointer Types */
/*****************/
typedef void *PVOID;                              /* 32 bits - void pointer */
typedef BYTE *PBYTE;
typedef CHAR *STR;                                /* 8*(strlen+1) bits (Null Terminated)*/
#define MIN min
#define min(a,b) ((a)<(b)?(a):(b))

#define MAX(x, y)                       (((x) > (y)) ? (x) : (y))

#define size_t unsigned int

#endif


#if defined(DVD_PLATFORM_ONE)
/*****************************************************************************
******************************************************************************
**                                                                          **
**  Compiler / Platform:                                                    **
**    DVD Platform 1, using Nucleus.                                        **
**                                                                          **
**  Author:                                                                 **
**    Doug Kelly                                                            **
**                                                                          **
**  Maintainer:                                                             **
**    Doug Kelly                                                            **
**                                                                          **
**  Notes:                                                                  **
**    NONE                                                                  **
**                                                                          **
**  Revision History:                                                       **
**    06/27/03  DAK   File origination                                      **
**                                                                          **
******************************************************************************
*****************************************************************************/

#ifdef __cplusplus
extern "C" {
#endif

#ifndef NUCLEUS
#include "nucleus.h"
#define NUCLEUS
#endif // ifndef nucleus

#include "img_defs.h"

#ifdef __cplusplus
}
#endif

/* Pointers */
typedef void *PVOID;                              /* 32 bits - void pointer */
typedef unsigned char *PBYTE;                     /* 8  bits - void byte pointer */

/* -- Unsigned Types -- */

typedef unsigned char  UCHAR;                     /* 8  bits - unsigned integer */
typedef unsigned short USHORT;                    /* 16 bits - unsigned integer */
typedef unsigned long long UINT64;                /* 64 bits - unsigned integer */

/* -- Signed Types -- */

typedef signed short   SHORT;                     /* 16 bits - signed integer */
typedef signed int     LONG;                      /* 32 bits - signed integer */
typedef signed long long INT64;                   /* 64 bits - signed integer */

/* Error Code */
typedef unsigned long  ERR_CODE;                  /* 32 bits - unsigned integer */



/* Boolean values */
typedef unsigned char  BOOLEAN;                   /* 8  bits - boolean */
#ifndef TRUE                                      /* TRUE = 1 */
#define TRUE (1)
#endif

#ifndef FALSE                                     /* FALSE = 0 */
#define FALSE (0)
#endif

#endif /* DVD_PLATFORM_ONE */

#endif /* VCITYPES_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -