(load "stubs.so") (use lazy-ffi srfi-13 srfi-26 ) ; debug) (begin #~"cpuidsdk.dll") (define (qi x) (#~QueryInterface x return: pointer:)) (define-syntax cpuid (syntax-rules () ((_ ?name ?code ?type0 ...) (define (?name) (#~~ (#~QueryInterface ?code return: pointer: ) ?type0 ...))))) (cpuid ci #x21452459 return: pointer:) (define dlpath "") (define dlname "cpuidsdk.dll") (define CPUIDSDK_CONFIG_USE_EVERYTHING #x7FFFFFFF) (cpuid di #x30571113 pointer:) (set! objptr (ci)) (define (init objptr dll-path dll-filename config-flag errorcode errorcode-extended) (#~~ (qi #x19937329) pointer: objptr string: dll-path string: dll-filename int: config-flag pointer: errorcode pointer: errorcode-extended)) (set! err (u32vector 0)) (set! eerr (u32vector 0)) (set! foo (init objptr dlpath dlname CPUIDSDK_CONFIG_USE_EVERYTHING err eerr)) ;;(set! foo (init objptr dlpath dlname CPUIDSDK_CONFIG_USE_EVERYTHING (u32vector->blob err) (u32vector->blob eerr)))