From 9f4a226cc102085bd47318d09d8836660da2783d Mon Sep 17 00:00:00 2001 From: ashmew2 Date: Tue, 10 May 2016 14:11:17 +0000 Subject: [PATCH] Add http library wrapper to C Layer git-svn-id: svn://kolibrios.org@6422 a494cfbc-eb01-0410-851d-a64ba20cac60 --- contrib/C_Layer/http_lib/loadhttp.asm | 64 +++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 contrib/C_Layer/http_lib/loadhttp.asm diff --git a/contrib/C_Layer/http_lib/loadhttp.asm b/contrib/C_Layer/http_lib/loadhttp.asm new file mode 100644 index 000000000..0a38c225e --- /dev/null +++ b/contrib/C_Layer/http_lib/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'