endpoint_security 0.1.0-universal-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +44 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +114 -0
  5. data/Rakefile +170 -0
  6. data/codegen/ast.rb +67 -0
  7. data/codegen/emit_c.rb +68 -0
  8. data/codegen/emit_ruby.rb +128 -0
  9. data/codegen/ir.rb +193 -0
  10. data/codegen/overlay/availability.yml +158 -0
  11. data/codegen/overlay/version_map.yml +92 -0
  12. data/codegen/run.rb +80 -0
  13. data/codegen/snapshots/26.5.json +5828 -0
  14. data/examples/eslogger_clone.rb +5 -0
  15. data/examples/execblock.rb +16 -0
  16. data/examples/filemon.rb +10 -0
  17. data/examples/procmon.rb +13 -0
  18. data/ext/endpoint_security/client.c +795 -0
  19. data/ext/endpoint_security/client.h +88 -0
  20. data/ext/endpoint_security/endpoint_security.c +17 -0
  21. data/ext/endpoint_security/extconf.rb +37 -0
  22. data/ext/endpoint_security/field.c +719 -0
  23. data/ext/endpoint_security/field.h +42 -0
  24. data/ext/endpoint_security/generated/es_schema.c +1233 -0
  25. data/ext/endpoint_security/message.c +426 -0
  26. data/ext/endpoint_security/message.h +13 -0
  27. data/ext/endpoint_security/mute.c +291 -0
  28. data/ext/endpoint_security/mute.h +8 -0
  29. data/ext/endpoint_security/queue.c +124 -0
  30. data/ext/endpoint_security/queue.h +46 -0
  31. data/ext/endpoint_security/watchdog.c +243 -0
  32. data/lib/endpoint_security/availability.rb +30 -0
  33. data/lib/endpoint_security/client.rb +280 -0
  34. data/lib/endpoint_security/diagnostics.rb +26 -0
  35. data/lib/endpoint_security/doctor.rb +35 -0
  36. data/lib/endpoint_security/errors.rb +42 -0
  37. data/lib/endpoint_security/generated/availability.rb +169 -0
  38. data/lib/endpoint_security/generated/enums.rb +409 -0
  39. data/lib/endpoint_security/generated/event_types.rb +520 -0
  40. data/lib/endpoint_security/message.rb +29 -0
  41. data/lib/endpoint_security/object_model.rb +170 -0
  42. data/lib/endpoint_security/recorder.rb +26 -0
  43. data/lib/endpoint_security/version.rb +6 -0
  44. data/lib/endpoint_security.rb +38 -0
  45. data/support/entitlements.plist +8 -0
  46. data/support/esmock/esmock.c +482 -0
  47. data/support/esmock/esmock.h +21 -0
  48. data/support/sign_ruby.sh +13 -0
  49. metadata +90 -0
@@ -0,0 +1,42 @@
1
+ #ifndef ESRB_FIELD_H
2
+ #define ESRB_FIELD_H
3
+
4
+ #include <EndpointSecurity/EndpointSecurity.h>
5
+ #include <ruby.h>
6
+ #include <stdbool.h>
7
+ #include <stddef.h>
8
+ #include <stdint.h>
9
+
10
+ typedef struct {
11
+ const char *name;
12
+ const char *type;
13
+ size_t offset;
14
+ uint32_t minimum_version;
15
+ } esrb_field_t;
16
+
17
+ typedef struct {
18
+ const char *name;
19
+ const esrb_field_t *fields;
20
+ size_t field_count;
21
+ } esrb_schema_t;
22
+
23
+ typedef struct {
24
+ es_event_type_t event_type;
25
+ size_t offset;
26
+ const char *schema;
27
+ size_t size;
28
+ bool indirect;
29
+ } esrb_event_schema_t;
30
+
31
+ extern const esrb_schema_t esrb_schemas[];
32
+ extern const size_t esrb_schema_count;
33
+ extern const esrb_event_schema_t esrb_event_schemas[];
34
+ extern const size_t esrb_event_schema_count;
35
+
36
+ void esrb_init_field(VALUE endpoint_security);
37
+ VALUE esrb_string_token_value(const es_string_token_t *token);
38
+ VALUE esrb_view_wrap(
39
+ VALUE owner, const void *pointer, const char *schema_name, uint32_t message_version, bool strict_version);
40
+ VALUE esrb_event_wrap(VALUE owner, const es_message_t *message, bool strict_version);
41
+
42
+ #endif