fork download
  1. gambitc -link -flat -o tcv-services.o1.c tcv-services.scm
  2. *** WARNING -- "##fx=" is not defined,
  3. *** referenced in: ("/home/taylor/Repos/gambit-libs/tcv-services.c")
  4. gcc -c -o os_services.o -g -Wall -Wno-unused -fPIC os_services.c
  5. gcc -c -o tcv-services.o1.o -D___DYNAMIC -g -Wall -Wno-unused -fPIC tcv-services.o1.c
  6. gcc -shared -o tcv-services.o1 os_services.o tcv-services.o1.o
  7. 10053 [ taylor @ fw-its-kt209a-2 ] : ~/Repos/gambit-libs > gsi tcv-services.o1
  8. *** WARNING -- Could not find C function: "____20_tcv_2d_services_2e_o1"
  9. *** ERROR IN ##main -- /home/taylor/Repos/gambit-libs/tcv-services.o1: undefined symbol: ____20_tcv_2d_services
  10. (load "tcv-services.o1")
  11.  
  12.  
  13.  
  14. ;;;; tcv-services.scm
  15.  
  16. (c-declare #<<END
  17. #include "os_services.h"
  18. END
  19. )
  20.  
  21. (define (service->port name)
  22. (let ((port ((c-lambda (char-string char-string) int "__service_to_port") name)))
  23. (if (##fx= port -1) #f port)))
  24.  
  25.  
  26.  
  27. ;;;; os_services.c
  28.  
  29. #include <netdb.h>
  30.  
  31. #include "os_common.h"
  32. #include "os_services.h"
  33.  
  34. int __service_to_port(const char *name, const char *proto) {
  35. struct servent *answer = getservbyname(name, proto);
  36. return (answer == NULL) ? -1 : answer->s_port;
  37. }
  38.  
  39.  
  40.  
  41. ;;;; os_services.h
  42.  
  43. #ifndef _TCV_GAMBIT_OS_SERVICES_H
  44. #define _TCV_GAMBIT_OS_SERVICES_H
  45.  
  46. int __service_to_port(const char *, const char *);
  47.  
  48. #endif
  49.  
  50.  
  51.  
  52. ;;;; os_common.h
  53.  
  54. #ifndef _TCV_GAMBIT_OS_COMMON_H
  55. #define _TCV_GAMBIT_OS_COMMON_H
  56.  
  57. #define ___VERSION 406003
  58.  
  59. #include <stddef.h>
  60. #include <gambit.h>
  61.  
  62. #endif
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty