Changeset 4a207b8 for lib/linktypes.c
- Timestamp:
- 03/23/07 16:41:03 (14 years ago)
- Branches:
- 4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, getfragoff, help, libtrace4, master, ndag_format, pfring, rc-4.0.1, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance, ringtimestampfixes
- Children:
- dbdc23f
- Parents:
- 83f2cbf
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lib/linktypes.c
r4746c71 r4a207b8 42 42 case TRACE_DLT_IEEE802_11_RADIO: return TRACE_TYPE_80211_RADIO; 43 43 case TRACE_DLT_ATM_RFC1483: return TRACE_TYPE_LLCSNAP; 44 case TRACE_DLT_PPP: return TRACE_TYPE_PPP; 44 45 /* Unhandled */ 45 46 case TRACE_DLT_NULL: /* Raw IP frame with a BSD specific … … 67 68 case TRACE_TYPE_80211_RADIO: return TRACE_DLT_IEEE802_11_RADIO; 68 69 case TRACE_TYPE_LLCSNAP: return TRACE_DLT_ATM_RFC1483; 70 case TRACE_TYPE_PPP: return TRACE_DLT_PPP; 69 71 /* Below here are unsupported conversions */ 70 72 /* Dispite hints to the contrary, there is no DLT … … 80 82 /* Used for test traces within WAND */ 81 83 case TRACE_TYPE_80211_PRISM: 84 /* Probably == PPP */ 85 case TRACE_TYPE_POS: 82 86 /* TODO: We haven't researched these yet */ 83 case TRACE_TYPE_ POS:87 case TRACE_TYPE_AAL5: 84 88 case TRACE_TYPE_HDLC_POS: 85 case TRACE_TYPE_AAL5:86 89 break; 87 90 } … … 125 128 case TRACE_TYPE_80211_PRISM: 126 129 case TRACE_TYPE_80211: 127 case TRACE_TYPE_POS:128 130 case TRACE_TYPE_PFLOG: 129 131 case TRACE_TYPE_NONE: 130 132 case TRACE_TYPE_LINUX_SLL: 133 case TRACE_TYPE_PPP: 134 case TRACE_TYPE_POS: 131 135 break; 132 136 } … … 241 245 static libtrace_t *trace = NULL; 242 246 switch(trace_get_link_type(packet)) { 243 case TRACE_TYPE_POS:244 remaining=trace_get_capture_length(packet);245 packet->payload=trace_get_payload_from_pos(246 packet->payload,NULL,&remaining);247 248 tmp=(char*)malloc(249 trace_get_capture_length(packet)250 +sizeof(libtrace_pcapfile_pkt_hdr_t)251 );252 253 tv=trace_get_timeval(packet);254 ((libtrace_pcapfile_pkt_hdr_t*)tmp)->ts_sec=tv.tv_sec;255 ((libtrace_pcapfile_pkt_hdr_t*)tmp)->ts_usec=tv.tv_usec;256 ((libtrace_pcapfile_pkt_hdr_t*)tmp)->wirelen257 = trace_get_wire_length(packet)-(trace_get_capture_length(packet)-remaining);258 ((libtrace_pcapfile_pkt_hdr_t*)tmp)->caplen259 = remaining;260 261 memcpy(tmp+sizeof(libtrace_pcapfile_pkt_hdr_t),262 packet->payload,263 (size_t)remaining);264 if (packet->buf_control == TRACE_CTRL_EXTERNAL) {265 packet->buf_control=TRACE_CTRL_PACKET;266 }267 else {268 free(packet->buffer);269 }270 packet->buffer=tmp;271 packet->header=tmp;272 packet->payload=tmp+sizeof(libtrace_pcapfile_pkt_hdr_t);273 packet->type=pcap_dlt_to_rt(TRACE_DLT_RAW);274 275 if (trace == NULL) {276 trace = trace_create_dead("pcap:-");277 }278 279 packet->trace=trace;280 281 return true;282 247 case TRACE_TYPE_ATM: 283 248 remaining=trace_get_capture_length(packet);
Note: See TracChangeset
for help on using the changeset viewer.