forked from KolibriOS/kolibrios
update cmm programs
git-svn-id: svn://kolibrios.org@3081 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
675efc8539
commit
c8034527ce
@ -185,7 +185,7 @@ void main()
|
|||||||
case evKey:
|
case evKey:
|
||||||
key = GetKey();
|
key = GetKey();
|
||||||
|
|
||||||
if (edit1.flags == 66) || (edit1.flags == 98) SWITCH(key) //если активна строка адреса игнорируем некоторые кнопки
|
if (edit1.flags & 0b10) SWITCH(key) //если активна строка адреса игнорируем некоторые кнопки
|
||||||
{ CASE 52: CASE 53: CASE 54: goto _EDIT_MARK; }
|
{ CASE 52: CASE 53: CASE 54: goto _EDIT_MARK; }
|
||||||
|
|
||||||
WB1.Scan(key);
|
WB1.Scan(key);
|
||||||
|
@ -142,7 +142,7 @@ void TWebBrowser::Scan(int id)
|
|||||||
if (strcmp(get_URL_part(5),"http:")<>0) RunProgram("/rd/1/tinypad", #URL); else RunProgram("/rd/1/tinypad", #download_path);
|
if (strcmp(get_URL_part(5),"http:")<>0) RunProgram("/rd/1/tinypad", #URL); else RunProgram("/rd/1/tinypad", #download_path);
|
||||||
return;
|
return;
|
||||||
case 054: //F5
|
case 054: //F5
|
||||||
IF(edit1.flags == 66) break;
|
IF(edit1.flags & 0b10) break;
|
||||||
case REFRESH:
|
case REFRESH:
|
||||||
if (GetProcessSlot(downloader_id)<>0)
|
if (GetProcessSlot(downloader_id)<>0)
|
||||||
{
|
{
|
||||||
|
@ -165,7 +165,7 @@ BDVK getinfo_file_info;
|
|||||||
{
|
{
|
||||||
mem_Init();
|
mem_Init();
|
||||||
cBufer = mem_Alloc(CopyFile_atr.sizelo);
|
cBufer = mem_Alloc(CopyFile_atr.sizelo);
|
||||||
if (! ReadFile(dword 0, CopyFile_atr.sizelo, cBufer, copy_from))
|
if (! ReadFile(0, CopyFile_atr.sizelo, cBufer, copy_from))
|
||||||
if (! WriteFile(CopyFile_atr.sizelo, cBufer, copy_in)) return 1;
|
if (! WriteFile(CopyFile_atr.sizelo, cBufer, copy_in)) return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -205,4 +205,4 @@ inline fastcall void GetCurDir( ECX, EDX)
|
|||||||
void notify(dword notify_param)
|
void notify(dword notify_param)
|
||||||
{
|
{
|
||||||
RunProgram("@notify", notify_param);
|
RunProgram("@notify", notify_param);
|
||||||
}
|
}
|
||||||
|
@ -335,6 +335,13 @@ done:
|
|||||||
$pop ecx
|
$pop ecx
|
||||||
$pop ebx
|
$pop ebx
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline fastcall void debugch( ECX)
|
||||||
|
{
|
||||||
|
$mov eax,63
|
||||||
|
$mov ebx,1
|
||||||
|
$int 0x40
|
||||||
|
}
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
void DefineAndDrawWindow(dword x,y, sizeX,sizeY, byte WindowType,dword WindowAreaColor, EDI, ESI)
|
void DefineAndDrawWindow(dword x,y, sizeX,sizeY, byte WindowType,dword WindowAreaColor, EDI, ESI)
|
||||||
@ -460,4 +467,4 @@ inline fastcall void DeleteButton( EDX)
|
|||||||
EAX = 8;
|
EAX = 8;
|
||||||
EDX += BT_DEL;
|
EDX += BT_DEL;
|
||||||
$int 0x40;
|
$int 0x40;
|
||||||
}
|
}
|
||||||
|
85
programs/cmm/lib/network.h
Normal file
85
programs/cmm/lib/network.h
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
//Network library
|
||||||
|
|
||||||
|
dword network_lib = #a_network_lib;
|
||||||
|
char a_network_lib[21]="/sys/lib/network.obj\0";
|
||||||
|
|
||||||
|
dword network_lib_init = #aLib_init;
|
||||||
|
dword inet_addr = #aInet_addr; //"192.168.0.1" -> dword IP
|
||||||
|
dword inet_ntoa = #aInet_ntoa;
|
||||||
|
dword getaddrinfo = #aGetaddrinfo;
|
||||||
|
dword getaddrinfo_start = #aGetaddrinfo_start;
|
||||||
|
dword getaddrinfo_process = #aGetaddrinfo_process;
|
||||||
|
dword getaddrinfo_abort = #aGetaddrinfo_abort;
|
||||||
|
dword freeaddrinfo = #aFreeaddrinfo;
|
||||||
|
|
||||||
|
dword am3__ = 0x0;
|
||||||
|
dword bm3__ = 0x0;
|
||||||
|
|
||||||
|
char aLib_init[9] = "lib_init\0";
|
||||||
|
char aInet_addr[10] = "inet_addr\0";
|
||||||
|
char aInet_ntoa[10] = "inet_ntoa\0";
|
||||||
|
char aGetaddrinfo[12] = "getaddrinfo\0";
|
||||||
|
char aGetaddrinfo_start[18] = "getaddrinfo_start\0";
|
||||||
|
char aGetaddrinfo_process[20] = "getaddrinfo_process\0";
|
||||||
|
char aGetaddrinfo_abort[18] = "getaddrinfo_abort\0";
|
||||||
|
char aFreeaddrinfo[13] = "freeaddrinfo\0";
|
||||||
|
|
||||||
|
/*
|
||||||
|
addr соответствует IP 10.101.102.103
|
||||||
|
itoa((addr&0xFF000000)>>24) равно 103
|
||||||
|
itoa((addr&0xFF0000)>>16) —это 102
|
||||||
|
itoa((addr&0xFF00)>>8) — это 101
|
||||||
|
itoa(addr&0xFF) — это 10
|
||||||
|
*/
|
||||||
|
|
||||||
|
dword GetIPfromAdress(dword addr)
|
||||||
|
{
|
||||||
|
dword lpointer;
|
||||||
|
getaddrinfo stdcall (addr, 0, 0, #lpointer);
|
||||||
|
if (EAX!=0) return 0; //если ошибка
|
||||||
|
return DSDWORD[DSDWORD[lpointer+24]+4];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*dword GetIPfromAdressASM(dword addr)
|
||||||
|
{
|
||||||
|
dword lpointer;
|
||||||
|
|
||||||
|
ESP=#lpointer;
|
||||||
|
$push esp // lpointer
|
||||||
|
$push esp // fourth parameter
|
||||||
|
$push 0 // third parameter
|
||||||
|
$push 0 // second parameter
|
||||||
|
EAX = addr;
|
||||||
|
$push eax // first parameter
|
||||||
|
$call getaddrinfo
|
||||||
|
if (EAX!=0) return 0; //ошибка
|
||||||
|
$pop esi
|
||||||
|
$mov ebx, DSDWORD[lpointer+24]
|
||||||
|
$mov eax, DSDWORD[EBX+4]
|
||||||
|
|
||||||
|
return EAX;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
//Convert the string from standard IPv4 dotted notation to integer IP addr.
|
||||||
|
inet_addr stdcall ("192.168.0.1");
|
||||||
|
server_IP = EAX;
|
||||||
|
|
||||||
|
|
||||||
|
char* __stdcall inet_ntoa(struct in_addr in);
|
||||||
|
Convert the Internet host address to standard IPv4 dotted notation.
|
||||||
|
|
||||||
|
getaddrinfo(__in const char* hostname, __in const char* servname,
|
||||||
|
__in const struct addrinfo* hints, __out struct addrinfo **res);
|
||||||
|
struct addrinfo {
|
||||||
|
int ai_flags;
|
||||||
|
int ai_family;
|
||||||
|
int ai_socktype;
|
||||||
|
int ai_protocol;
|
||||||
|
size_t ai_addrlen;
|
||||||
|
struct sockaddr *ai_addr;
|
||||||
|
char *ai_canonname;
|
||||||
|
struct addrinfo *ai_next;
|
||||||
|
};
|
||||||
|
*/
|
52
programs/cmm/lib/socket.h
Normal file
52
programs/cmm/lib/socket.h
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
#define SOCKET_PASSIVE 0
|
||||||
|
#define SOCKET_ACTIVE 1
|
||||||
|
inline fastcall dword OpenSocket( ECX, EDX, ESI, EDI)
|
||||||
|
{
|
||||||
|
$mov eax,53
|
||||||
|
$mov ebx,5
|
||||||
|
$int 0x40
|
||||||
|
}
|
||||||
|
|
||||||
|
inline fastcall int StatusSocket( ECX)
|
||||||
|
{
|
||||||
|
$mov eax,53
|
||||||
|
$mov ebx,6
|
||||||
|
$int 0x40
|
||||||
|
}
|
||||||
|
|
||||||
|
inline fastcall dword ReadSocket( ECX)
|
||||||
|
{
|
||||||
|
$mov eax,53
|
||||||
|
$mov ebx,3
|
||||||
|
$int 0x40
|
||||||
|
return BL;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline fastcall dword PollSocket( ECX)
|
||||||
|
{
|
||||||
|
$mov eax,53
|
||||||
|
$mov ebx,2
|
||||||
|
$int 0x40
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
inline fastcall dword WriteSocket( ECX, EDX, ESI)
|
||||||
|
{
|
||||||
|
$mov eax,53
|
||||||
|
$mov ebx,7
|
||||||
|
$int 0x40
|
||||||
|
}
|
||||||
|
|
||||||
|
inline fastcall int IsPortFree( ECX)
|
||||||
|
{
|
||||||
|
$mov eax,53
|
||||||
|
$mov ebx,9
|
||||||
|
$int 0x40
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned int GetFreePort(int port_i)
|
||||||
|
{
|
||||||
|
for (; port_i<65535; port_i++;)
|
||||||
|
if (IsPortFree(port_i)==1) return port_i;
|
||||||
|
return 0;
|
||||||
|
}
|
@ -130,6 +130,18 @@ inline fastcall strcat( EDI, ESI)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*void strcat(char *to, char *from) //òîæå ðàáîòàåò
|
||||||
|
{
|
||||||
|
while(*to) to++;
|
||||||
|
while(*from)
|
||||||
|
{
|
||||||
|
*to = *from;
|
||||||
|
to++;
|
||||||
|
from++;
|
||||||
|
}
|
||||||
|
*to = '\0';
|
||||||
|
}*/
|
||||||
|
|
||||||
dword itoa( ESI)
|
dword itoa( ESI)
|
||||||
{
|
{
|
||||||
unsigned char buffer[11];
|
unsigned char buffer[11];
|
||||||
@ -333,4 +345,4 @@ L4: POP ECX
|
|||||||
#define stricmpn strcmpni
|
#define stricmpn strcmpni
|
||||||
#define strnicmp strcmpni
|
#define strnicmp strcmpni
|
||||||
#define strincmp strcmpni
|
#define strincmp strcmpni
|
||||||
#define strcmpin strcmpni
|
#define strcmpin strcmpni
|
||||||
|
Binary file not shown.
@ -84,7 +84,7 @@ void Main_Window()
|
|||||||
param[0]='d';
|
param[0]='d';
|
||||||
param[1]=disk_list[selected].Item[3];
|
param[1]=disk_list[selected].Item[3];
|
||||||
Console_Work();
|
Console_Work();
|
||||||
Pause(15);
|
pause(15);
|
||||||
GetDisks();
|
GetDisks();
|
||||||
DrawTmpDisks();
|
DrawTmpDisks();
|
||||||
}
|
}
|
||||||
@ -213,7 +213,7 @@ void AddDisk()
|
|||||||
}
|
}
|
||||||
param[1]=i+48;
|
param[1]=i+48;
|
||||||
Console_Work();
|
Console_Work();
|
||||||
Pause(5);
|
pause(5);
|
||||||
GetDisks();
|
GetDisks();
|
||||||
DrawTmpDisks();
|
DrawTmpDisks();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user