Class: Vflowrec

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

Overview

declare methods to ruby

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeObject

initialize()



96
97
98
# File 'ext/Vflow.c', line 96

static VALUE vfr_init(VALUE rbself) {
  return rbself;
}

Class Method Details

.allocateObject



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;
}

.newObject

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

#dflowsObject



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)
}

#doctetsObject



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);
}

#dpktsObject



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_asObject



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_maskObject



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_tagObject



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);
}

#dstaddrObject



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)
}

#dstportObject



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_timeObject



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_idObject



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_typeObject



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);
}

#exaddrObject



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_pktsObject



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);
}

#firstObject



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_encapsObject



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);
}

#inputObject



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)
}

#lastObject



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_tosObject



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);
}

#nexthopObject



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_encapsObject



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);
}

#outputObject



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_nexthopObject



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);
}

#protObject



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_scObject



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_asObject



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_maskObject



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_tagObject



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);
}

#srcaddrObject



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)
}

#srcportObject



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_timeObject



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;
}

#sysuptimeObject

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_flagsObject



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);
}

#tosObject



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_nsecsObject

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_secsObject

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)
}