Changeset 64ea525 in mainline
- Timestamp:
- 2024-12-13T08:44:05Z (10 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)
- Location:
- uspace
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/pcapctl/main.c
r1d14090 r64ea525 53 53 54 54 rc = pcapctl_dump_start(name, sess); 55 if (rc != EOK) 56 { 55 if (rc != EOK) { 57 56 printf("Starting the dumping was not successful.\n"); 58 57 } … … 69 68 } 70 69 rc = pcapctl_dump_stop(sess); 71 if (rc != EOK) 72 { 70 if (rc != EOK) { 73 71 printf("Stoping the dumping was not successful.\n"); 74 72 } … … 81 79 pcapctl_sess_t *sess = NULL; 82 80 errno_t rc = pcapctl_dump_open(dev_number, &sess); 83 if (rc != EOK) 84 { 81 if (rc != EOK) { 85 82 return rc; 86 83 } 87 84 88 85 rc = pcapctl_dump_set_ops(name, sess); 89 if (rc != EOK) 90 { 86 if (rc != EOK) { 91 87 printf("Setting dumper ops was not successful.\n"); 92 88 } … … 186 182 /* stop with dev number */ 187 183 stop_dumping(&dev_number); 188 } 189 else if (set_ops) 190 { 184 } else if (set_ops) { 191 185 set_dumper_ops(&dev_number, ops_name); 192 186 } -
uspace/lib/pcap/include/pcap.h
r1d14090 r64ea525 80 80 81 81 typedef struct { 82 errno_t (*open)(struct pcap_writer *, const char *); 82 83 size_t (*write_u32)(struct pcap_writer *, uint32_t); 83 84 size_t (*write_u16)(struct pcap_writer *, uint16_t); … … 94 95 } pcap_writer_t; 95 96 96 errno_t pcap_writer_to_file_init(pcap_writer_t *writer, const char *filename);97 98 97 extern void pcap_writer_add_header(pcap_writer_t *); 99 extern void pcap_writer_add_packet( 100 pcap_writer_t *writer, const void *captured_packet, size_t size); 101 98 extern void pcap_writer_add_packet(pcap_writer_t *writer, const void *captured_packet, size_t size); 102 99 extern void pcap_set_time(pcap_packet_header_t *header); 103 100 -
uspace/lib/pcap/src/pcap.c
r1d14090 r64ea525 87 87 } 88 88 89 /** Initialize writing to .pcap file.90 *91 * @param writer Interface for working with .pcap file92 * @param filename Name of the file for dumping packets93 * @return EOK on success or an error code94 *95 */96 errno_t pcap_writer_to_file_init(pcap_writer_t *writer, const char *filename)97 {98 errno_t rc;99 writer->data = fopen(filename, "a");100 if (writer->data == NULL) {101 rc = EINVAL;102 return rc;103 }104 pcap_writer_add_header(writer);105 106 rc = EOK;107 return rc;108 }109 110 89 /** @} 111 90 */ -
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.