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

📄 etkerr.h

📁 its creates virtual multi tasking i DOS
💻 H
字号:
/*******************************************************
 *                                                     *
 *  Program : EasyTask            Language : C++       *
 *                                                     *
 *  Modified : 20 nov 2003                             *
 *                                                     *
 *  Copyright (c) 1988,2003, ORITECH    V 5.1          *
 *  All rights reserved.                               *
 *                                                     *
 *******************************************************
 *  You may not give away or cell or copy any part of  *
 *  the source code.                                   *
 *******************************************************
 *                                                     *
 *  ETKERR.H       multitasking functions              *
 *                                                     *
 *******************************************************/


#if !defined(etkerr_h)   // Sentry, use file only if it's not already included.
#define etkerr_h

#if defined(_DOS16) or defined(_WIN386)
  #define _setvect _dos_setvect
  #define _getvect _dos_getvect
#else // *** WIN & DPMI ***
  #define _setvect _dpmi_setvect
  #define _getvect _dpmi_getvect
#endif

typedef struct t_TETGlo
{
  PMultiTask parenttask;
  PMultiTask currenttask;
  PMultiTask NextTask;
  word appdseg;  // save data segment application 
  PMultiTask destroyTask;
  //
  word language;  
  long user_id;
  PFunc memalloc;
  PFunc memrelease;
  PETmem appMemRec;
  //
  long timerDemo;
  //
  uint varlocLen;
  pvoid exitSave;
  dword tickCnt;
  dword tickCntLast;
  long TaskQuantityCnt;  // emul ptr
  BOOL lockTaskFlag; 
  BOOL stk_cpy;
}TETGlo;

typedef TETGlo *PETGlo;


/////////////////////////////////////////////
// interrupt functions

#if !defined(_WIN32) 

typedef struct t_WaitIrqRecord
{
  word inUse;
  word inIrq;
  #ifdef _BORLANDC
    void __interrupt( __far *vector)(__CPPARGS);
  #else
    void (__interrupt __far *vector)();  
  #endif
  PIrqCallFunc onIrq;
  word irqDSeg;
  PETGlo glo;
  BOOL immed;
}WaitIrqRecord;

#endif

// end interrupt functions
/////////////////////////////////////////////

extern PETGlo glo; 

#define std_user_id 3782462L

void *AppGetMem(PETGlo glo, uint size);
void  AppFreeMem(PETGlo glo, pvoid p, uint size);

void TestProtect();
void AlertLicence(); 
void AlertStack();

extern unsigned long delayDemo;
extern BOOL badProtect;
extern BOOL badLicence;


#endif   // etkerr_h sentry.


⌨️ 快捷键说明

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