Class: LibBPFRuby::Link

Inherits:
Object
  • Object
show all
Defined in:
ext/libbpf_ruby/libbpf_ruby.c

Instance Method Summary collapse

Instance Method Details

#detachObject



506
507
508
509
510
511
512
513
514
# File 'ext/libbpf_ruby/libbpf_ruby.c', line 506

static VALUE rb_cLink_detach(VALUE self) {
  libbpf_ruby_link_t *libbpf_ruby_link;
  TypedData_Get_Struct(self, libbpf_ruby_link_t, &libbpf_ruby_link_type, libbpf_ruby_link);
  if (libbpf_ruby_link->bpf_link) {
    rb_nogvl(nogvl_bpf_link__destroy, libbpf_ruby_link->bpf_link, NULL, NULL, 0);
    libbpf_ruby_link->bpf_link = NULL;
  }
  return Qnil;
}

#fdObject



497
498
499
500
501
502
503
504
# File 'ext/libbpf_ruby/libbpf_ruby.c', line 497

static VALUE rb_cLink_fd(VALUE self) {
  libbpf_ruby_link_t *libbpf_ruby_link;
  TypedData_Get_Struct(self, libbpf_ruby_link_t, &libbpf_ruby_link_type, libbpf_ruby_link);
  if (!libbpf_ruby_link->bpf_link) {
    rb_raise(rb_eRuntimeError, "link is detached");
  }
  return INT2NUM(bpf_link__fd(libbpf_ruby_link->bpf_link));
}