1 #include <stdio.h>
2 #include "erl_driver.h"
3
4 typedef struct _erl_drv_data FailureDrvData;
5
6 static FailureDrvData *failure_drv_start(ErlDrvPort, char *);
7 static void failure_drv_stop(FailureDrvData *);
8 static void failure_drv_output(ErlDrvData, char *, ErlDrvSizeT);
9 static void failure_drv_finish(void);
10
11 static ErlDrvEntry failure_drv_entry = {
12 NULL, /* init */
13 failure_drv_start,
14 failure_drv_stop,
15 failure_drv_output,
16 NULL, /* ready_input */
17 NULL, /* ready_output */
18 "failure_drv",
19 NULL, /* finish */
20 NULL, /* handle */
21 NULL, /* control */
22 NULL, /* timeout */
23 NULL, /* outputv */
24 NULL, /* ready_async */
25 NULL,
26 NULL,
27 NULL,
28 ERL_DRV_EXTENDED_MARKER,
29 ERL_DRV_EXTENDED_MAJOR_VERSION,
30 ERL_DRV_EXTENDED_MINOR_VERSION,
31 0,
32 NULL,
33 NULL,
34 NULL,
35 };
36
37
38
39 /* -------------------------------------------------------------------------
40 ** Entry functions
41 **/
42
DRIVER_INIT(failure_drv)43 DRIVER_INIT(failure_drv)
44 {
45 return &failure_drv_entry;
46 }
47
failure_drv_start(ErlDrvPort port,char * command)48 static FailureDrvData *failure_drv_start(ErlDrvPort port, char *command) {
49 void *void_ptr;
50
51 return void_ptr = port;
52 }
53
failure_drv_stop(FailureDrvData * data_p)54 static void failure_drv_stop(FailureDrvData *data_p) {
55 }
56
failure_drv_output(ErlDrvData drv_data,char * buf,ErlDrvSizeT len)57 static void failure_drv_output(ErlDrvData drv_data, char *buf, ErlDrvSizeT len) {
58 FailureDrvData *data_p = (FailureDrvData *) drv_data;
59 void *void_ptr;
60 ErlDrvPort port = void_ptr = data_p;
61
62 driver_failure_atom(port, "driver_failed");
63 }
64
failure_drv_finish()65 static void failure_drv_finish() {
66 }
67