Changeset 64ea525 in mainline


Ignore:
Timestamp:
2024-12-13T08:44:05Z (10 months ago)
Author:
Nataliia Korop <n.corop08@…>
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)
Message:

init dumping destionation move to ops

Location:
uspace
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/pcapctl/main.c

    r1d14090 r64ea525  
    5353
    5454        rc = pcapctl_dump_start(name, sess);
    55         if (rc != EOK)
    56         {
     55        if (rc != EOK) {
    5756                printf("Starting the dumping was not successful.\n");
    5857        }
     
    6968        }
    7069        rc = pcapctl_dump_stop(sess);
    71         if (rc != EOK)
    72         {
     70        if (rc != EOK) {
    7371                printf("Stoping the dumping was not successful.\n");
    7472        }
     
    8179        pcapctl_sess_t *sess = NULL;
    8280        errno_t rc = pcapctl_dump_open(dev_number, &sess);
    83         if (rc != EOK)
    84         {
     81        if (rc != EOK) {
    8582                return rc;
    8683        }
    8784
    8885        rc = pcapctl_dump_set_ops(name, sess);
    89         if (rc != EOK)
    90         {
     86        if (rc != EOK) {
    9187                printf("Setting dumper ops was not successful.\n");
    9288        }
     
    186182                /* stop with dev number */
    187183                stop_dumping(&dev_number);
    188         }
    189         else if (set_ops)
    190         {
     184        } else if (set_ops) {
    191185                set_dumper_ops(&dev_number, ops_name);
    192186        }
  • uspace/lib/pcap/include/pcap.h

    r1d14090 r64ea525  
    8080
    8181typedef struct {
     82        errno_t (*open)(struct pcap_writer *, const char *);
    8283        size_t (*write_u32)(struct pcap_writer *, uint32_t);
    8384        size_t (*write_u16)(struct pcap_writer *, uint16_t);
     
    9495} pcap_writer_t;
    9596
    96 errno_t pcap_writer_to_file_init(pcap_writer_t *writer, const char *filename);
    97 
    9897extern 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 
     98extern void pcap_writer_add_packet(pcap_writer_t *writer, const void *captured_packet, size_t size);
    10299extern void pcap_set_time(pcap_packet_header_t *header);
    103100
  • uspace/lib/pcap/src/pcap.c

    r1d14090 r64ea525  
    8787}
    8888
    89 /** Initialize writing to .pcap file.
    90  *
    91  * @param writer    Interface for working with .pcap file
    92  * @param filename  Name of the file for dumping packets
    93  * @return          EOK on success or an error code
    94  *
    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 
    11089/** @}
    11190 */
  • uspace/lib/pcap/src/pcap_dumper.c

    r1d14090 r64ea525  
    3838#include "pcap_dumper.h"
    3939
     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 */
     47static 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
    4061static size_t pcap_file_w32(pcap_writer_t *writer, uint32_t data)
    4162{
     
    6182
    6283static pcap_writer_ops_t file_ops = {
    63 
     84        .open = &pcap_writer_to_file_init,
    6485        .write_u32 = &pcap_file_w32,
    6586        .write_u16 = &pcap_file_w16,
     
    80101static size_t pcap_short_file_wbuffer(pcap_writer_t *writer, const void *data, size_t size)
    81102{
    82         return fwrite(data, 1, size<60?size:60, (FILE *)writer->data);
     103        return fwrite(data, 1, size < 60 ? size : 60, (FILE *)writer->data);
    83104}
    84105
     
    89110
    90111static pcap_writer_ops_t short_file_ops = {
     112        .open = &pcap_writer_to_file_init,
    91113        .write_u32 = &pcap_short_file_w32,
    92114        .write_u16 = &pcap_short_file_w16,
     
    104126                pcap_dumper_stop(dumper);
    105127        }
    106         errno_t rc = pcap_writer_to_file_init(&dumper->writer, name);
     128        errno_t rc = dumper->writer.ops->open(&dumper->writer, name);
    107129        if (rc == EOK) {
    108130                dumper->to_dump = true;
     
    118140        fibril_mutex_lock(&dumper->mutex);
    119141        errno_t rc = EOK;
    120         if (!str_cmp(name, "short_file"))
    121         {
     142        if (!str_cmp(name, "short_file")) {
    122143                dumper->writer.ops = &short_file_ops;
    123         }
    124         else if (!str_cmp(name, "full_file"))
    125         {
     144        } else if (!str_cmp(name, "full_file")) {
    126145                dumper->writer.ops = &file_ops;
    127         }
    128         else
    129         {
     146        } else {
    130147                rc = EINVAL;
    131148        }
     
    133150        return rc;
    134151}
    135 
    136152
    137153void pcap_dumper_add_packet(struct pcap_dumper *dumper, const void *data, size_t size)
Note: See TracChangeset for help on using the changeset viewer.