Class: Vflowrec
- Inherits:
-
Object
- Object
- Vflowrec
- Defined in:
- ext/Vflow.c
Overview
declare methods to ruby
Class Method Summary collapse
- .allocate ⇒ Object
-
.new ⇒ Object
new().
Instance Method Summary collapse
- #dflows ⇒ Object
- #doctets ⇒ Object
- #dpkts ⇒ Object
- #dst_as ⇒ Object
- #dst_mask ⇒ Object
- #dst_tag ⇒ Object
- #dstaddr ⇒ Object
- #dstport ⇒ Object
- #end_time ⇒ Object
- #engine_id ⇒ Object
- #engine_type ⇒ Object
- #exaddr ⇒ Object
- #extra_pkts ⇒ Object
- #first ⇒ Object
- #in_encaps ⇒ Object
-
#initialize ⇒ Object
constructor
initialize().
- #input ⇒ Object
- #last ⇒ Object
- #marked_tos ⇒ Object
- #nexthop ⇒ Object
- #out_encaps ⇒ Object
- #output ⇒ Object
- #peer_nexthop ⇒ Object
- #prot ⇒ Object
- #router_sc ⇒ Object
- #src_as ⇒ Object
- #src_mask ⇒ Object
- #src_tag ⇒ Object
- #srcaddr ⇒ Object
- #srcport ⇒ Object
- #start_time ⇒ Object
-
#sysuptime ⇒ Object
vfr_sysuptime.
- #tcp_flags ⇒ Object
- #tos ⇒ Object
-
#unix_nsecs ⇒ Object
vfr_unix_nsecs.
-
#unix_secs ⇒ Object
vfr_unix_secs.
Constructor Details
#initialize ⇒ Object
initialize()
96 97 98 |
# File 'ext/Vflow.c', line 96 static VALUE vfr_init(VALUE rbself) { return rbself; } |
Class Method Details
.allocate ⇒ Object
100 101 102 103 104 |
# File 'ext/Vflow.c', line 100 static VALUE vfr_alloc(VALUE klass) { vfr_type *info = xmalloc(sizeof(vfr_type)); VALUE vfr_info = Data_Wrap_Struct(klass, NULL, vfr_info_free, info); return vfr_info; } |
.new ⇒ Object
new()
107 108 109 110 111 |
# File 'ext/Vflow.c', line 107 static VALUE vfr_new(VALUE klass) { VALUE obj = rb_funcall2(klass, rb_intern("allocate"), 0, 0); rb_obj_call_init(obj, 0, NULL); return obj; } |
Instance Method Details
#dflows ⇒ Object
185 186 187 188 |
# File 'ext/Vflow.c', line 185 static VALUE vfr_dflows(VALUE rbself) { vfr_type *info; VFR_EXTRACT32(info, FT_XFIELD_DFLOWS, dFlows) } |
#doctets ⇒ Object
195 196 197 198 |
# File 'ext/Vflow.c', line 195 static VALUE vfr_doctets(VALUE rbself) { vfr_type *info; VFR_EXTRACT32(info, FT_XFIELD_DPKTS, dOctets); } |
#dpkts ⇒ Object
190 191 192 193 |
# File 'ext/Vflow.c', line 190 static VALUE vfr_dpkts(VALUE rbself) { vfr_type *info; VFR_EXTRACT32(info, FT_XFIELD_DPKTS, dPkts); } |
#dst_as ⇒ Object
260 261 262 263 |
# File 'ext/Vflow.c', line 260 static VALUE vfr_dst_as(VALUE rbself) { vfr_type *info; VFR_EXTRACT16(info, FT_XFIELD_DST_AS, dst_as); } |
#dst_mask ⇒ Object
250 251 252 253 |
# File 'ext/Vflow.c', line 250 static VALUE vfr_dst_mask(VALUE rbself) { vfr_type *info; VFR_EXTRACT8(info, FT_XFIELD_DST_MASK, dst_mask); } |
#dst_tag ⇒ Object
290 291 292 293 |
# File 'ext/Vflow.c', line 290 static VALUE vfr_dst_tag(VALUE rbself) { vfr_type *info; VFR_EXTRACT32(info, FT_XFIELD_DST_TAG, dst_tag); } |
#dstaddr ⇒ Object
166 167 168 169 |
# File 'ext/Vflow.c', line 166 static VALUE vfr_dstaddr(VALUE rbself) { vfr_type *info; VFR_EXTRACTADDR(info,FT_XFIELD_DSTADDR,dstaddr) } |
#dstport ⇒ Object
215 216 217 218 |
# File 'ext/Vflow.c', line 215 static VALUE vfr_dstport(VALUE rbself) { vfr_type *info; VFR_EXTRACT16(info, FT_XFIELD_DSTPORT, dstport); } |
#end_time ⇒ Object
322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 |
# File 'ext/Vflow.c', line 322
static VALUE vfr_end_time(VALUE rbself) {
vfr_type *info;
Data_Get_Struct(rbself, vfr_type, info);
if (!ftio_check_xfield(&info->ftio_data,
FT_XFIELD_SYSUPTIME |
FT_XFIELD_UNIX_SECS)) {
struct fttime ftt = ftltime(*(u_int32*)(info->rec + (info->offsets).sysUpTime),
*(u_int32*)(info->rec + (info->offsets).unix_secs),
*(u_int32*)(info->rec + (info->offsets).unix_nsecs),
*(u_int32*)(info->rec + (info->offsets).First));
return INT2NUM(ftt.secs);
}
return Qnil;
}
|
#engine_id ⇒ Object
240 241 242 243 |
# File 'ext/Vflow.c', line 240 static VALUE vfr_engine_id(VALUE rbself) { vfr_type *info; VFR_EXTRACT8(info, FT_XFIELD_ENGINE_ID, engine_id); } |
#engine_type ⇒ Object
235 236 237 238 |
# File 'ext/Vflow.c', line 235 static VALUE vfr_engine_type(VALUE rbself) { vfr_type *info; VFR_EXTRACT8(info, FT_XFIELD_ENGINE_TYPE, engine_type); } |
#exaddr ⇒ Object
156 157 158 159 |
# File 'ext/Vflow.c', line 156 static VALUE vfr_exaddr(VALUE rbself) { vfr_type *info; VFR_EXTRACTADDR(info,FT_XFIELD_EXADDR,exaddr) } |
#extra_pkts ⇒ Object
295 296 297 298 |
# File 'ext/Vflow.c', line 295 static VALUE vfr_extra_pkts(VALUE rbself) { vfr_type *info; VFR_EXTRACT32(info, FT_XFIELD_EXTRA_PKTS, extra_pkts); } |
#first ⇒ Object
200 201 202 203 |
# File 'ext/Vflow.c', line 200 static VALUE vfr_first(VALUE rbself) { vfr_type *info; VFR_EXTRACT32(info, FT_XFIELD_FIRST, First); } |
#in_encaps ⇒ Object
265 266 267 268 |
# File 'ext/Vflow.c', line 265 static VALUE vfr_in_encaps(VALUE rbself) { vfr_type *info; VFR_EXTRACT8(info, FT_XFIELD_IN_ENCAPS, in_encaps); } |
#input ⇒ Object
175 176 177 178 |
# File 'ext/Vflow.c', line 175 static VALUE vfr_input(VALUE rbself) { vfr_type *info; VFR_EXTRACT16(info, FT_XFIELD_INPUT,input) } |
#last ⇒ Object
205 206 207 208 |
# File 'ext/Vflow.c', line 205 static VALUE vfr_last(VALUE rbself) { vfr_type *info; VFR_EXTRACT32(info, FT_XFIELD_LAST, Last); } |
#marked_tos ⇒ Object
300 301 302 303 |
# File 'ext/Vflow.c', line 300 static VALUE vfr_marked_tos(VALUE rbself) { vfr_type *info; VFR_EXTRACT8(info, FT_XFIELD_MARKED_TOS, marked_tos); } |
#nexthop ⇒ Object
170 171 172 173 |
# File 'ext/Vflow.c', line 170 static VALUE vfr_nexthop(VALUE rbself) { vfr_type *info; VFR_EXTRACTADDR(info,FT_XFIELD_NEXTHOP,nexthop) } |
#out_encaps ⇒ Object
270 271 272 273 |
# File 'ext/Vflow.c', line 270 static VALUE vfr_out_encaps(VALUE rbself) { vfr_type *info; VFR_EXTRACT8(info, FT_XFIELD_OUT_ENCAPS, out_encaps); } |
#output ⇒ Object
180 181 182 183 |
# File 'ext/Vflow.c', line 180 static VALUE vfr_output(VALUE rbself) { vfr_type *info; VFR_EXTRACT16(info, FT_XFIELD_OUTPUT,output) } |
#peer_nexthop ⇒ Object
275 276 277 278 |
# File 'ext/Vflow.c', line 275 static VALUE vfr_peer_nexthop(VALUE rbself) { vfr_type *info; VFR_EXTRACTADDR(info, FT_XFIELD_PEER_NEXTHOP, peer_nexthop); } |
#prot ⇒ Object
220 221 222 223 |
# File 'ext/Vflow.c', line 220 static VALUE vfr_prot(VALUE rbself) { vfr_type *info; VFR_EXTRACT8(info, FT_XFIELD_PROT, prot); } |
#router_sc ⇒ Object
280 281 282 283 |
# File 'ext/Vflow.c', line 280 static VALUE vfr_router_sc(VALUE rbself) { vfr_type *info; VFR_EXTRACT32(info, FT_XFIELD_ROUTER_SC, router_sc); } |
#src_as ⇒ Object
255 256 257 258 |
# File 'ext/Vflow.c', line 255 static VALUE vfr_src_as(VALUE rbself) { vfr_type *info; VFR_EXTRACT16(info, FT_XFIELD_SRC_AS, src_as); } |
#src_mask ⇒ Object
245 246 247 248 |
# File 'ext/Vflow.c', line 245 static VALUE vfr_src_mask(VALUE rbself) { vfr_type *info; VFR_EXTRACT8(info, FT_XFIELD_SRC_MASK, src_mask); } |
#src_tag ⇒ Object
285 286 287 288 |
# File 'ext/Vflow.c', line 285 static VALUE vfr_src_tag(VALUE rbself) { vfr_type *info; VFR_EXTRACT32(info, FT_XFIELD_SRC_TAG, src_tag); } |
#srcaddr ⇒ Object
161 162 163 164 |
# File 'ext/Vflow.c', line 161 static VALUE vfr_srcaddr(VALUE rbself) { vfr_type *info; VFR_EXTRACTADDR(info,FT_XFIELD_SRCADDR,srcaddr) } |
#srcport ⇒ Object
210 211 212 213 |
# File 'ext/Vflow.c', line 210 static VALUE vfr_srcport(VALUE rbself) { vfr_type *info; VFR_EXTRACT16(info, FT_XFIELD_SRCPORT, srcport); } |
#start_time ⇒ Object
305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 |
# File 'ext/Vflow.c', line 305
static VALUE vfr_start_time(VALUE rbself) {
vfr_type *info;
Data_Get_Struct(rbself, vfr_type, info);
if (!ftio_check_xfield(&info->ftio_data,
FT_XFIELD_SYSUPTIME |
FT_XFIELD_UNIX_SECS)) {
struct fttime ftt = ftltime(*(u_int32*)(info->rec + (info->offsets).sysUpTime),
*(u_int32*)(info->rec + (info->offsets).unix_secs),
*(u_int32*)(info->rec + (info->offsets).unix_nsecs),
*(u_int32*)(info->rec + (info->offsets).First));
return INT2NUM(ftt.secs);
}
return Qnil;
}
|
#sysuptime ⇒ Object
vfr_sysuptime
151 152 153 154 |
# File 'ext/Vflow.c', line 151 static VALUE vfr_sysuptime(VALUE rbself) { vfr_type *info; VFR_EXTRACT32(info,FT_XFIELD_SYSUPTIME,sysUpTime); } |
#tcp_flags ⇒ Object
230 231 232 233 |
# File 'ext/Vflow.c', line 230 static VALUE vfr_tcp_flags(VALUE rbself) { vfr_type *info; VFR_EXTRACT8(info, FT_XFIELD_TCP_FLAGS, tcp_flags); } |
#tos ⇒ Object
225 226 227 228 |
# File 'ext/Vflow.c', line 225 static VALUE vfr_tos(VALUE rbself) { vfr_type *info; VFR_EXTRACT8(info, FT_XFIELD_TOS, tos); } |
#unix_nsecs ⇒ Object
vfr_unix_nsecs
145 146 147 148 |
# File 'ext/Vflow.c', line 145 static VALUE vfr_unix_nsecs(VALUE rbself) { vfr_type *info; VFR_EXTRACT32(info,FT_XFIELD_UNIX_NSECS,unix_nsecs); } |
#unix_secs ⇒ Object
vfr_unix_secs
139 140 141 142 |
# File 'ext/Vflow.c', line 139 static VALUE vfr_unix_secs(VALUE rbself) { vfr_type *info; VFR_EXTRACT32(info,FT_XFIELD_UNIX_SECS,unix_secs) } |