Changeset 64ea525 in mainline for uspace/lib/pcap/src/pcap_dumper.c
- Timestamp:
- 2024-12-13T08:44:05Z (15 months ago)
- Children:
- f161ce1
- Parents:
- 1d14090
- git-author:
- Nataliia Korop <n.corop08@…> (2024-11-10 09:31:01)
- git-committer:
- Nataliia Korop <n.corop08@…> (2024-12-13 08:44:05)
- File:
-
- 1 edited
-
uspace/lib/pcap/src/pcap_dumper.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/pcap/src/pcap_dumper.c
r1d14090 r64ea525 38 38 #include "pcap_dumper.h" 39 39 40 /** Initialize writing to .pcap file. 41 * 42 * @param writer Interface for working with .pcap file 43 * @param filename Name of the file for dumping packets 44 * @return EOK on success or an error code 45 * 46 */ 47 static errno_t pcap_writer_to_file_init(pcap_writer_t *writer, const char *filename) 48 { 49 errno_t rc; 50 writer->data = fopen(filename, "a"); 51 if (writer->data == NULL) { 52 rc = EINVAL; 53 return rc; 54 } 55 pcap_writer_add_header(writer); 56 57 rc = EOK; 58 return rc; 59 } 60 40 61 static size_t pcap_file_w32(pcap_writer_t *writer, uint32_t data) 41 62 { … … 61 82 62 83 static pcap_writer_ops_t file_ops = { 63 84 .open = &pcap_writer_to_file_init, 64 85 .write_u32 = &pcap_file_w32, 65 86 .write_u16 = &pcap_file_w16, … … 80 101 static size_t pcap_short_file_wbuffer(pcap_writer_t *writer, const void *data, size_t size) 81 102 { 82 return fwrite(data, 1, size <60?size:60, (FILE *)writer->data);103 return fwrite(data, 1, size < 60 ? size : 60, (FILE *)writer->data); 83 104 } 84 105 … … 89 110 90 111 static pcap_writer_ops_t short_file_ops = { 112 .open = &pcap_writer_to_file_init, 91 113 .write_u32 = &pcap_short_file_w32, 92 114 .write_u16 = &pcap_short_file_w16, … … 104 126 pcap_dumper_stop(dumper); 105 127 } 106 errno_t rc = pcap_writer_to_file_init(&dumper->writer, name);128 errno_t rc = dumper->writer.ops->open(&dumper->writer, name); 107 129 if (rc == EOK) { 108 130 dumper->to_dump = true; … … 118 140 fibril_mutex_lock(&dumper->mutex); 119 141 errno_t rc = EOK; 120 if (!str_cmp(name, "short_file")) 121 { 142 if (!str_cmp(name, "short_file")) { 122 143 dumper->writer.ops = &short_file_ops; 123 } 124 else if (!str_cmp(name, "full_file")) 125 { 144 } else if (!str_cmp(name, "full_file")) { 126 145 dumper->writer.ops = &file_ops; 127 } 128 else 129 { 146 } else { 130 147 rc = EINVAL; 131 148 } … … 133 150 return rc; 134 151 } 135 136 152 137 153 void pcap_dumper_add_packet(struct pcap_dumper *dumper, const void *data, size_t size)
Note:
See TracChangeset
for help on using the changeset viewer.
