Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. format coff
  2. use32                                   ; Tell compiler to use 32 bit instructions
  3.  
  4. section '.flat' code
  5.  
  6. include '../../../programs/proc32.inc'
  7. include '../../../programs/macros.inc'
  8. purge section,mov,add,sub
  9.  
  10. include '../../../programs/dll.inc'
  11.  
  12. purge section,mov,add,sub
  13.        
  14. public lib_init as '_networklib_init'
  15.  
  16. proc lib_init
  17. local retval dd ?
  18.         mov [retval], eax
  19.         pusha
  20.         mcall 68, 11
  21.         test eax, eax
  22.         jnz @f
  23.                 mov [retval], -1
  24.                 jmp exit_init_networklib
  25. @@:    
  26.         stdcall dll.Load, @IMPORT
  27.         test eax, eax
  28.         jz      exit_init_networklib
  29.                 mov [retval], -1
  30. exit_init_networklib:      
  31.         popa
  32.         mov eax, [retval]
  33.         ret
  34. endp    
  35.  
  36. @IMPORT:
  37. library networklib,     'network.obj'
  38.  
  39. import networklib, \
  40.         inet_addr, 'inet_addr', \
  41.         inet_ntoa, 'inet_ntoa', \
  42.         getaddrinfo, 'getaddrinfo', \
  43.         freeaddrinfo, 'freeaddrinfo'
  44.        
  45. public inet_addr as '_inet_addr'
  46. public inet_ntoa as '_inet_ntoa'
  47. public getaddrinfo as '_getaddrinfo'
  48. public freeaddrinfo as '_freeaddrinfo'
  49.