(in-package #:smoke) (defcenum smoke-method-flags "Method flags" (:static #x01) (:const #x02) (:copy-constructor #x04) (:internal #x08) (:enum #x10) (:constructor #x20) (:destructor #x40) (:protected #x80) (:attribute #x100) (:property #x200) (:virtual #x400) (:purevirtual #x800) (:signal #x1000) (:slot #x2000)) (defcstruct smoke-method "Describe a method" (class smoke-index) (name smoke-index) (arguments smoke-index) (num-args :unsigned-char) (flags :unsigned-short) (return-type smoke-index) (method smoke-index)) (defcstruct smoke-method-map "Maps a munged method." (class-id smoke-index) (name smoke-index) (method smoke-index)) (declaim (inline smoke-find-method)) (defcfun (smoke-find-method "cl_smoke_find_method") :void (m :pointer smoke-module-index) (smoke :pointer) (class smoke-index) (method :string))