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

📄 mtc_defs.h

📁 嵌入式系统基础课件
💻 H
字号:
/*$no list*//*$no trace <<< mtc_defs.h >>> */
/*
 *      mtc_defs.h - global Multi-C declarations
 *      Multi-C (c) Copyright 1992 Mix Software, Inc. & Creative C Corporation
 *      All rights reserved.
 */

#ifndef MTC_DEFS_H
#define MTC_DEFS_H

#include <stdio.h>
#include <assert.h>
#include <string.h>
#include <stdlib.h>

#ifndef TRUE
#define TRUE    1
#endif

#ifndef FALSE
#define FALSE   0
#endif

typedef int     MTCBOOL;

typedef struct {
    unsigned message:1;
    unsigned abort:1;
    unsigned assert:1;
} MTC_ABEND_FLAG;

#ifdef __cplusplus
extern "C" {
#endif
extern MTC_ABEND_FLAG MtCAbendFlag;
#ifdef __cplusplus
}
#endif

/* multi-c scheduling priority classes */
typedef enum    {
        MTC_LOW,        /* low scheduling priority */
        MTC_MED,        /* medium scheduling priority */
        MTC_HI,         /* high scheduling priority */
}       MTCPRI;

typedef enum {
    SUCCESS,                        /* no error detected */
    MALLOC,                         /* bad malloc */
    EMPTY_LIST,                     /* empty list */
    LIST_NOT_EMPTY,                 /* list is not empty */
    END_OF_LIST,                    /* end of list */
    IMPOSSIBLE,                     /* error cause unknown */
    SCHEDULE,                       /* scheduling pseudo SUCCESS */
    ILLPARAM,                       /* invalid argument value */
    NULLPOINTER,                    /* invalid NULL pointer */
    BADMAGIC,                       /* invalid handle for this operation */
    CANTRESUME,                     /* attempted wait with empty list */
    NOMESSAGE,                      /* no message for attempted operation */
        /* add user errors after this line */
    MTC_LASTERROR                   /* last error */
} ECODE;

typedef ECODE (*TRAVERSE_FUNC)(void*,void*,int,int,void*);

#ifdef __cplusplus
extern "C" {
#endif

ECODE   mtc_abend(ECODE err, char *msg, char *file, int line);

#ifdef __cplusplus
}
#endif

#define MtCAbend(err,msg)  return(mtc_abend(err,msg,__FILE__,__LINE__))

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

#define PTR_TEST(p,msg) if (p == NULL) MtCAbend(NULLPOINTER,msg)

#endif /* MTC_DEFS_H */

/*$list*//*$trace       <<< mtc_defs.h >>> */

⌨️ 快捷键说明

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