diff options
author | Michael Mann <mmann78@netscape.net> | 2014-03-18 13:21:51 -0400 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2014-03-19 05:04:54 +0000 |
commit | 04d950130624c14ac8af39c621f69851d8088ed6 (patch) | |
tree | ec315eb356b27def24a385b7b5aa8bdf72529b11 /wiretap/wtap-int.h | |
parent | d832cb18db4e152177cf13673385288987ba9448 (diff) |
Add capture file reader/writer support for Lua so scripts can implement new capture file formats.
This enables a Lua script to implement a brand new capture file format reader/writer, so that for example one could write a script to read from vendor-specific "logs" of packets, and show them as normal packets in wireshark.
Change-Id: Id394edfffa94529f39789844c382b7ab6cc2d814
Reviewed-on: https://code.wireshark.org/review/431
Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'wiretap/wtap-int.h')
-rw-r--r-- | wiretap/wtap-int.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/wiretap/wtap-int.h b/wiretap/wtap-int.h index 8c186b40ec..1d47f25423 100644 --- a/wiretap/wtap-int.h +++ b/wiretap/wtap-int.h @@ -58,7 +58,8 @@ struct wtap { guint number_of_interfaces; /**< The number of interfaces a capture was made on, number of IDB:s in a pcapng file or equivalent(?)*/ GArray *interface_data; /**< An array holding the interface data from pcapng IDB:s or equivalent(?)*/ - void *priv; + void *priv; /* this one holds per-file state and is free'd automatically by wtap_close() */ + void *wslua_data; /* this one holds wslua state info and is not free'd */ subtype_read_func subtype_read; subtype_seek_read_func subtype_seek_read; @@ -97,7 +98,8 @@ struct wtap_dumper { gboolean compressed; gint64 bytes_dumped; - void *priv; + void *priv; /* this one holds per-file state and is free'd automatically by wtap_dump_close() */ + void *wslua_data; /* this one holds wslua state info and is not free'd */ subtype_write_func subtype_write; subtype_close_func subtype_close; @@ -111,10 +113,10 @@ struct wtap_dumper { GArray *interface_data; /**< An array holding the interface data from pcapng IDB:s or equivalent(?) NULL if not present.*/ }; -gboolean wtap_dump_file_write(wtap_dumper *wdh, const void *buf, +WS_DLL_PUBLIC gboolean wtap_dump_file_write(wtap_dumper *wdh, const void *buf, size_t bufsize, int *err); -gint64 wtap_dump_file_seek(wtap_dumper *wdh, gint64 offset, int whence, int *err); -gint64 wtap_dump_file_tell(wtap_dumper *wdh, int *err); +WS_DLL_PUBLIC gint64 wtap_dump_file_seek(wtap_dumper *wdh, gint64 offset, int whence, int *err); +WS_DLL_PUBLIC gint64 wtap_dump_file_tell(wtap_dumper *wdh, int *err); extern gint wtap_num_file_types; @@ -280,6 +282,7 @@ GSList *wtap_get_compressed_file_extensions(void); * header, so if we get an EOF trying to read the packet data, the file * has been cut short, even if the read didn't read any data at all.) */ +WS_DLL_PUBLIC gboolean wtap_read_packet_bytes(FILE_T fh, Buffer *buf, guint length, int *err, gchar **err_info); |