Sha256: 8206d375d21e2008e0d7ab7839d6591944f64511cf88293b1dbc8432cfeeca31

Contents?: true

Size: 1.52 KB

Versions: 49

Compression:

Stored size: 1.52 KB

Contents

#include <Windows.h>
#include <ruby.h>

#ifndef WDM_ENTRY_H
#define WDM_ENTRY_H

#ifdef __cplusplus
extern "C" {
#endif // __cplusplus

// ---------------------------------------------------------
// Types
// ---------------------------------------------------------

typedef struct {
    LPWSTR dir;                             // Name of directory to watch
    VALUE callback;                         // Proc object to call when there are changes
    BOOL watch_childeren;                   // Watch sub-directories
    DWORD flags;                            // Flags for the type of changes to report
} WDM_EntryUserData, *WDM_PEntryUserData;

typedef struct WDM_Entry {
    WDM_PEntryUserData user_data;           // User-supplied data
    HANDLE dir_handle;                      // IO handle of the directory
    BYTE buffer[WDM_BUFFER_SIZE];           // Buffer for the results
    OVERLAPPED event_container;             // Async IO event container
    struct WDM_Entry* next;                 // Well, this is a linked list, so this is self-explanatory :)
} WDM_Entry, *WDM_PEntry;

// ---------------------------------------------------------
// Prototypes
// ---------------------------------------------------------

WDM_PEntryUserData wdm_entry_user_data_new();
void wdm_entry_user_data_free(WDM_PEntryUserData);

WDM_PEntry wdm_entry_new();
void wdm_entry_free(WDM_PEntry);
void wdm_entry_list_free(WDM_PEntry);

// ---------------------------------------------------------

#ifdef __cplusplus
}
#endif // __cplusplus

#endif // WDM_ENTRY_H

Version data entries

49 entries across 41 versions & 5 rubygems

Version Path
wdm-0.2.0 ext/wdm/entry.h
vagrant-unbundled-2.2.19.0 vendor/bundle/ruby/3.0.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.18.0 vendor/bundle/ruby/3.0.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.16.0 vendor/bundle/ruby/2.7.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.16.0 vendor/bundle/ruby/3.0.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.14.0 vendor/bundle/ruby/2.7.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.10.0 vendor/bundle/ruby/2.7.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.9.0 vendor/bundle/ruby/2.7.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.8.0 vendor/bundle/ruby/2.7.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.7.0 vendor/bundle/ruby/2.4.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.7.0 vendor/bundle/ruby/2.6.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.7.0 vendor/bundle/ruby/2.7.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.6.2 vendor/bundle/ruby/2.6.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.6.1 vendor/bundle/ruby/2.6.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.6.0 vendor/bundle/ruby/2.6.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.5.0 vendor/bundle/ruby/2.5.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.5.0 vendor/bundle/ruby/2.6.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.4.0 vendor/bundle/ruby/2.6.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.4.0 vendor/bundle/ruby/2.5.0/gems/wdm-0.1.1/ext/wdm/entry.h
vagrant-unbundled-2.2.3.0 vendor/bundle/ruby/2.5.0/gems/wdm-0.1.1/ext/wdm/entry.h