⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 erl_win_dyn_driver.h

📁 OTP是开放电信平台的简称
💻 H
📖 第 1 页 / 共 2 页
字号:
} TWinDynDriverCallbacks;   /* This header is included explicitly by the ddll static driver, it musn't define things then */ #ifndef STATIC_ERLANG_DRIVERextern TWinDynDriverCallbacks WinDynDriverCallbacks;#define null_func (WinDynDriverCallbacks.null_func)#define driver_failure_atom (WinDynDriverCallbacks.driver_failure_atom)#define driver_failure_posix (WinDynDriverCallbacks.driver_failure_posix)#define driver_failure (WinDynDriverCallbacks.driver_failure)#define driver_exit (WinDynDriverCallbacks.driver_exit)#define driver_failure_eof (WinDynDriverCallbacks.driver_failure_eof)#define driver_select (WinDynDriverCallbacks.driver_select)#define driver_event (WinDynDriverCallbacks.driver_event)#define driver_output (WinDynDriverCallbacks.driver_output)#define driver_output2 (WinDynDriverCallbacks.driver_output2)#define driver_output_binary (WinDynDriverCallbacks.driver_output_binary)#define driver_outputv (WinDynDriverCallbacks.driver_outputv)#define driver_vec_to_buf (WinDynDriverCallbacks.driver_vec_to_buf)#define driver_set_timer (WinDynDriverCallbacks.driver_set_timer)#define driver_cancel_timer (WinDynDriverCallbacks.driver_cancel_timer)#define driver_read_timer (WinDynDriverCallbacks.driver_read_timer)#define erl_errno_id (WinDynDriverCallbacks.erl_errno_id)#define set_busy_port (WinDynDriverCallbacks.set_busy_port)#define set_port_control_flags (WinDynDriverCallbacks.set_port_control_flags)#define get_port_flags (WinDynDriverCallbacks.get_port_flags)#define driver_alloc_binary (WinDynDriverCallbacks.driver_alloc_binary)#define driver_realloc_binary (WinDynDriverCallbacks.driver_realloc_binary)#define driver_free_binary (WinDynDriverCallbacks.driver_free_binary)#define driver_alloc (WinDynDriverCallbacks.driver_alloc)#define driver_realloc (WinDynDriverCallbacks.driver_realloc)#define driver_free (WinDynDriverCallbacks.driver_free)#define driver_enq (WinDynDriverCallbacks.driver_enq)#define driver_pushq (WinDynDriverCallbacks.driver_pushq)#define driver_deq (WinDynDriverCallbacks.driver_deq)#define driver_sizeq (WinDynDriverCallbacks.driver_sizeq)#define driver_enq_bin (WinDynDriverCallbacks.driver_enq_bin)#define driver_pushq_bin (WinDynDriverCallbacks.driver_pushq_bin)#define driver_peekqv (WinDynDriverCallbacks.driver_peekqv)#define driver_peekq (WinDynDriverCallbacks.driver_peekq)#define driver_enqv (WinDynDriverCallbacks.driver_enqv)#define driver_pushqv (WinDynDriverCallbacks.driver_pushqv)#define add_driver_entry (WinDynDriverCallbacks.add_driver_entry)#define remove_driver_entry (WinDynDriverCallbacks.remove_driver_entry)#define driver_mk_atom (WinDynDriverCallbacks.driver_mk_atom)#define driver_mk_port (WinDynDriverCallbacks.driver_mk_port)#define driver_connected (WinDynDriverCallbacks.driver_connected)#define driver_caller (WinDynDriverCallbacks.driver_caller)#define driver_mk_term_nil (WinDynDriverCallbacks.driver_mk_term_nil)#define driver_output_term (WinDynDriverCallbacks.driver_output_term)#define driver_send_term (WinDynDriverCallbacks.driver_send_term)#define driver_async (WinDynDriverCallbacks.driver_async)#define driver_async_cancel (WinDynDriverCallbacks.driver_async_cancel)#define driver_lock_driver (WinDynDriverCallbacks.driver_lock_driver)#define driver_dl_open (WinDynDriverCallbacks.driver_dl_open)#define driver_dl_sym (WinDynDriverCallbacks.driver_dl_sym)#define driver_dl_close (WinDynDriverCallbacks.driver_dl_close)#define driver_dl_error (WinDynDriverCallbacks.driver_dl_error)#define erts_alc_test (WinDynDriverCallbacks.erts_alc_test)#define driver_binary_get_refc (WinDynDriverCallbacks.driver_binary_get_refc)#define driver_binary_inc_refc (WinDynDriverCallbacks.driver_binary_inc_refc)#define driver_binary_dec_refc (WinDynDriverCallbacks.driver_binary_dec_refc)#define driver_pdl_create (WinDynDriverCallbacks.driver_pdl_create)#define driver_pdl_lock (WinDynDriverCallbacks.driver_pdl_lock)#define driver_pdl_unlock (WinDynDriverCallbacks.driver_pdl_unlock)#define driver_pdl_get_refc (WinDynDriverCallbacks.driver_pdl_get_refc)#define driver_pdl_inc_refc (WinDynDriverCallbacks.driver_pdl_inc_refc)#define driver_pdl_dec_refc (WinDynDriverCallbacks.driver_pdl_dec_refc)#define driver_system_info (WinDynDriverCallbacks.driver_system_info)#define driver_get_now (WinDynDriverCallbacks.driver_get_now)#define driver_monitor_process \(WinDynDriverCallbacks.driver_monitor_process)#define driver_demonitor_process \(WinDynDriverCallbacks.driver_demonitor_process)#define driver_get_monitored_process \(WinDynDriverCallbacks.driver_get_monitored_process)#define driver_compare_monitors \(WinDynDriverCallbacks.driver_compare_monitors)/* The only variable in the interface... */#define driver_term_nil (driver_mk_term_nil())#include <stdio.h>#include <stdlib.h> #define DRIVER_INIT(DriverName)									\ErlDrvEntry *erl_dyndriver_real_driver_init(void);									\TWinDynDriverCallbacks WinDynDriverCallbacks;							\__declspec(dllexport) ErlDrvEntry *driver_init(TWinDynDriverCallbacks *callbacks)	        \{												\    memcpy(&WinDynDriverCallbacks,callbacks,sizeof(TWinDynDriverCallbacks));			\    return erl_dyndriver_real_driver_init();									\}												\ErlDrvEntry *erl_dyndriver_real_driver_init(void)/* This is to make erl_driver.h avoid changing what's done here */#define ERL_DRIVER_TYPES_ONLY#else /* defined(STATIC_ERLANG_DRIVER) *//* This is for the ddll driver */#define ERL_INIT_CALLBACK_STRUCTURE(W)			\do {				                        \((W).null_func) = null_func;				\((W).driver_failure_atom) = driver_failure_atom;	\((W).driver_failure_posix) = driver_failure_posix;	\((W).driver_failure) = driver_failure;			\((W).driver_exit) = driver_exit;			\((W).driver_failure_eof) = driver_failure_eof;		\((W).driver_select) = driver_select;			\((W).driver_event) = driver_event;			\((W).driver_output) = driver_output;			\((W).driver_output2) = driver_output2;			\((W).driver_output_binary) = driver_output_binary;	\((W).driver_outputv) = driver_outputv;			\((W).driver_vec_to_buf) = driver_vec_to_buf;		\((W).driver_set_timer) = driver_set_timer;		\((W).driver_cancel_timer) = driver_cancel_timer;	\((W).driver_read_timer) = driver_read_timer;		\((W).erl_errno_id) = erl_errno_id;			\((W).set_busy_port) = set_busy_port;			\((W).set_port_control_flags) = set_port_control_flags;	\((W).get_port_flags) = get_port_flags;			\((W).driver_alloc_binary) = driver_alloc_binary;	\((W).driver_realloc_binary) = driver_realloc_binary;	\((W).driver_free_binary) = driver_free_binary;		\((W).driver_alloc) = driver_alloc;			\((W).driver_realloc) = driver_realloc;			\((W).driver_free) = driver_free;			\((W).driver_enq) = driver_enq;				\((W).driver_pushq) = driver_pushq;			\((W).driver_deq) = driver_deq;				\((W).driver_sizeq) = driver_sizeq;			\((W).driver_enq_bin) = driver_enq_bin;			\((W).driver_pushq_bin) = driver_pushq_bin;		\((W).driver_peekqv) = driver_peekqv;			\((W).driver_peekq) = driver_peekq;			\((W).driver_enqv) = driver_enqv;			\((W).driver_pushqv) = driver_pushqv;			\((W).add_driver_entry) = add_driver_entry;		\((W).remove_driver_entry) = remove_driver_entry;	\((W).driver_mk_atom) = driver_mk_atom;			\((W).driver_mk_port) = driver_mk_port;			\((W).driver_connected) = driver_connected;		\((W).driver_caller) = driver_caller;			\((W).driver_mk_term_nil) = driver_mk_term_nil;		\((W).driver_output_term) = driver_output_term;		\((W).driver_send_term) = driver_send_term;		\((W).driver_async) = driver_async;			\((W).driver_async_cancel) = driver_async_cancel;	\((W).driver_lock_driver) = driver_lock_driver;	       	\((W).driver_dl_open) =  driver_dl_open;			\((W).driver_dl_sym) =  driver_dl_sym;			\((W).driver_dl_close) =  driver_dl_close;		\((W).driver_dl_error) =  driver_dl_error;		\((W).erts_alc_test) = erts_alc_test;			\((W).driver_binary_get_refc) = driver_binary_get_refc;	\((W).driver_binary_inc_refc) = driver_binary_inc_refc;	\((W).driver_binary_dec_refc) = driver_binary_dec_refc;	\((W).driver_pdl_create) = driver_pdl_create;		\((W).driver_pdl_lock) = driver_pdl_lock;		\((W).driver_pdl_unlock) = driver_pdl_unlock;		\((W).driver_pdl_get_refc) = driver_pdl_get_refc;	\((W).driver_pdl_inc_refc) = driver_pdl_inc_refc;	\((W).driver_pdl_dec_refc) = driver_pdl_dec_refc;	\((W).driver_system_info) = driver_system_info;		\((W).driver_get_now) = driver_get_now;		        \((W).driver_monitor_process) = driver_monitor_process;    \((W).driver_demonitor_process) = driver_demonitor_process;  \((W).driver_get_monitored_process) = driver_get_monitored_process;      \((W).driver_compare_monitors) = driver_compare_monitors; \} while (0)#endif /* STATIC_ERLANG_DRIVER */#endif /* _ERL_WIN_DYN_DRIVER_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -