From a618be2a69a347128a4e29c879abf4a913421f52 Mon Sep 17 00:00:00 2001 From: Ashish Gupta Date: Wed, 5 Apr 2017 21:39:01 +0200 Subject: Add kolibrios/ dir : Step 1 towards porting this to Kolibri OS --- frontends/kolibrios/loadhttp.asm | 64 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 frontends/kolibrios/loadhttp.asm (limited to 'frontends/kolibrios/loadhttp.asm') diff --git a/frontends/kolibrios/loadhttp.asm b/frontends/kolibrios/loadhttp.asm new file mode 100644 index 000000000..0a38c225e --- /dev/null +++ b/frontends/kolibrios/loadhttp.asm @@ -0,0 +1,64 @@ +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' -- cgit v1.2.3