c--: small libs update

git-svn-id: svn://kolibrios.org@3958 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2013-09-30 22:03:07 +00:00
parent 5e3125f462
commit afd7b2f1a8
3 changed files with 31 additions and 22 deletions

View File

@ -150,22 +150,6 @@ inline fastcall word GetButtonID()
$shr eax,8
}
//----------------------------------------
/* ecx = point to structure
sysdir_name rb 64
sysdir_path rb 64
Ïðèìåð:
dir_name1 db 'addappl',0
dir_path1 db 'HD0/1',0
*/
inline fastcall int SetAddApplDir( ECX)
{
EAX = 30;
EBX = 3;
$int 0x40
}
inline fastcall dword GetFreeRAM()
{
$mov eax, 18
@ -381,15 +365,15 @@ inline fastcall void debugch( ECX)
}
//------------------------------------------------------------------------------
void DefineAndDrawWindow(dword x,y, sizeX,sizeY, byte WindowType,dword WindowAreaColor, EDI, ESI)
void DefineAndDrawWindow(dword x, y, size_w, size_h, byte WindowType,dword WindowAreaColor, EDI, ESI)
{
EAX = 12; // function 12:tell os about windowdraw
EBX = 1;
$int 0x40
EAX = 0;
EBX = x << 16 + sizeX;
ECX = y << 16 + sizeY;
EBX = x << 16 + size_w;
ECX = y << 16 + size_h;
EDX = WindowType << 24 | WindowAreaColor;
$int 0x40

View File

@ -1,5 +1,26 @@
#define SOCKET_PASSIVE 0
#define SOCKET_ACTIVE 1
inline fastcall int GetNumOfActiveNetworkDevices()
{
$mov eax,74
BL = -1;
$int 0x40
}
inline fastcall dword OpenUnixSocket( ECX, EDX, ESI, EDI)
{
$mov eax,75
$mov bl,0
$int 0x40
}
/* ======================= OLD =========================*/
inline fastcall dword OpenSocket( ECX, EDX, ESI, EDI)
{
$mov eax,53
@ -7,6 +28,7 @@ inline fastcall dword OpenSocket( ECX, EDX, ESI, EDI)
$int 0x40
}
inline fastcall dword CloseSocket( ECX )
{
$mov eax, 53

View File

@ -233,12 +233,14 @@ dword strstri(dword searchin, usestr_s)
}
void strcpyb(dword search_in, copyin, startstr, endstr)
unsigned int strcpyb(dword search_in, copyin, startstr, endstr)
{
dword startp, endp;
startp = strstr(search_in, startstr) + strlen(startstr);
dword copyin_start_off = copyin;
if (startstr==0) startp = search_in; else startp = strstr(search_in, startstr) + strlen(startstr);
endp = strstri(startp, endstr);
if (startp==endp) return;
if (endp==0) endp = startp+strlen(search_in);
//if (startp==endp) return 0;
do
{
DSBYTE[copyin] = DSBYTE[startp];
@ -247,6 +249,7 @@ void strcpyb(dword search_in, copyin, startstr, endstr)
}
while (startp<endp);
DSBYTE[copyin] = '\0';
return copyin_start_off;
}