#include "ccommon.h" #include "libdefs.h" Word _int_tab0[4] = {0xFFFF, 0xFFFF, 0xFFFF, 0x0000}; /* @(#) CGetAut @(ID) Restituisce l'autorizzazione ad utilizzare un modulo. Vedi il file modaut.h. @(FD) */ BOOLEAN CGetAut(af) int af; /* numero del modulo */ { int i; #ifndef DOS BOOLEAN ok; #endif if (!af) return(!af); if (af > 48) return(FALSE); /* @(!) 2.3.01.176 */ if (demoflag) { /* @(!) 2.3.01.276 */ if (formflag) _int_tab0[0] = 0x019D; else _int_tab0[0] = 0x010D; /* @(:) 2.3.01.276 */ _int_tab0[1] = 0x0000; _int_tab0[2] = 0x0000; _int_tab0[3] = 0x0000; af--; return(CBITTEST(_int_tab0[af / 16], af % 16)); } /* @(:) 2.3.01.176 */ if (!SerNo) return(!getser()); /* @(!) 2.3.01.178 */ #ifdef DOS HL_READ(48, &_int_tab0[0]); HL_READ(49, &_int_tab0[1]); HL_READ(50, &_int_tab0[2]); HL_READ(51, &_int_tab0[3]); HL_CODE(EYECAST &_int_tab0[0], HLBLOCK); #else /* @(:) 2.3.01.178 */ INT_OFF(); HL_ON(Port, ModAd); _int_tab0[0] = HL_RD(Port, 48); _int_tab0[1] = HL_RD(Port, 49); _int_tab0[2] = HL_RD(Port, 50); _int_tab0[3] = HL_RD(Port, 51); HL_OFF(Port); INT_ON(); INT_OFF(); HL_ON(Port, ModAd); ok = K_EYE(Port, EYECAST &_int_tab0[0], HLBLOCK); HL_OFF(Port); INT_ON(); /* @(!) 2.3.01.178 */ #endif /* @(:) 2.3.01.178 */ for (i = 0; i < 4; i++) _int_tab0[i] ^= SerNo; if (_int_tab0[3]) return(FALSE); af--; return(CBITTEST(_int_tab0[af / 16], af % 16)); }