forked from KolibriOS/kolibrios
65 lines
1.7 KiB
NASM
65 lines
1.7 KiB
NASM
format coff
|
|
use32 ; Tell compiler to use 32 bit instructions
|
|
|
|
section '.flat' code ; Keep this line before includes or GCC messes up call addresses
|
|
|
|
include 'struct.inc'
|
|
include 'proc32.inc'
|
|
include 'macros.inc'
|
|
purge section,mov,add,sub
|
|
|
|
include 'network.inc'
|
|
include 'http.inc'
|
|
include 'dll.inc'
|
|
|
|
virtual at 0
|
|
http_msg http_msg
|
|
end virtual
|
|
|
|
public init_network as '_init_network_asm'
|
|
|
|
;;; Returns 0 on success. -1 on failure.
|
|
|
|
proc init_network
|
|
|
|
mcall 68,11
|
|
|
|
stdcall dll.Load, @IMPORT
|
|
test eax, eax
|
|
jnz error
|
|
|
|
mov eax, 0
|
|
ret
|
|
|
|
error:
|
|
mov eax, -1
|
|
ret
|
|
endp
|
|
|
|
@IMPORT:
|
|
|
|
library lib_http, 'http.obj'
|
|
|
|
import lib_http, \
|
|
HTTP_get , 'get' , \
|
|
HTTP_head , 'head' , \
|
|
HTTP_post , 'post' , \
|
|
HTTP_find_header_field , 'find_header_field' , \
|
|
HTTP_send , 'send' , \
|
|
HTTP_receive , 'receive' , \
|
|
HTTP_disconnect , 'disconnect' , \
|
|
HTTP_free , 'free' , \
|
|
HTTP_escape , 'escape' , \
|
|
HTTP_unescape , 'unescape'
|
|
|
|
public HTTP_get as '_http_get_asm'
|
|
public HTTP_head as '_http_head_asm'
|
|
public HTTP_post as '_http_post_asm'
|
|
public HTTP_find_header_field as '_http_find_header_field_asm'
|
|
public HTTP_send as '_http_send_asm'
|
|
public HTTP_receive as '_http_receive_asm'
|
|
public HTTP_disconnect as '_http_disconnect_asm'
|
|
public HTTP_free as '_http_free_asm'
|
|
public HTTP_escape as '_http_escape_asm'
|
|
public HTTP_unescape as '_http_unescape_asm'
|