| .\" Copyright (c) 1994, 1996, 1997 |
| .\" The Regents of the University of California. All rights reserved. |
| .\" |
| .\" Redistribution and use in source and binary forms, with or without |
| .\" modification, are permitted provided that: (1) source code distributions |
| .\" retain the above copyright notice and this paragraph in its entirety, (2) |
| .\" distributions including binary code include the above copyright notice and |
| .\" this paragraph in its entirety in the documentation or other materials |
| .\" provided with the distribution, and (3) all advertising materials mentioning |
| .\" features or use of this software display the following acknowledgement: |
| .\" ``This product includes software developed by the University of California, |
| .\" Lawrence Berkeley Laboratory and its contributors.'' Neither the name of |
| .\" the University nor the names of its contributors may be used to endorse |
| .\" or promote products derived from this software without specific prior |
| .\" written permission. |
| .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED |
| .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF |
| .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
| .\" |
| .TH PCAP_DUMP_OPEN 3PCAP "3 July 2020" |
| .SH NAME |
| pcap_dump_open, pcap_dump_open_append, pcap_dump_fopen \- open a file to |
| which to write packets |
| .SH SYNOPSIS |
| .nf |
| .ft B |
| #include <pcap/pcap.h> |
| .ft |
| .nf |
| .LP |
| .ft B |
| pcap_dumper_t *pcap_dump_open(pcap_t *p, const char *fname); |
| pcap_dumper_t *pcap_dump_open_append(pcap_t *p, const char *fname); |
| pcap_dumper_t *pcap_dump_fopen(pcap_t *p, FILE *fp); |
| .ft |
| .fi |
| .SH DESCRIPTION |
| .BR pcap_dump_open () |
| is called to open a ``savefile'' for writing. |
| .I fname |
| specifies the name of the file to open. The file will have |
| the same format as those used by |
| .BR tcpdump (1) |
| and |
| .BR tcpslice (1). |
| If the file does not exist, it will be created; if the file exists, it |
| will be truncated and overwritten. |
| The name "-" is a synonym |
| for |
| .BR stdout . |
| .PP |
| .BR pcap_dump_fopen () |
| is called to write data to an existing open stream |
| .IR fp ; |
| this stream will be closed by a subsequent call to |
| .BR pcap_dump_close (3PCAP). |
| The stream is assumed to be at the beginning of a file that has been |
| newly created or truncated, so that writes will start at the beginning |
| of the file. |
| Note that on Windows, that stream should be opened in binary mode. |
| .PP |
| .I p |
| is a capture or ``savefile'' handle returned by an earlier call to |
| .BR pcap_create (3PCAP) |
| and activated by an earlier call to |
| .BR \%pcap_activate (3PCAP), |
| or returned by an earlier call to |
| .BR \%pcap_open_offline (3PCAP), |
| .BR pcap_open_live (3PCAP), |
| or |
| .BR pcap_open_dead (3PCAP). |
| The time stamp precision, link-layer type, and snapshot length from |
| .I p |
| are used as the link-layer type and snapshot length of the output file. |
| .PP |
| .BR pcap_dump_open_append () |
| is like |
| .BR pcap_dump_open () |
| but, if the file already exists, and is a pcap file with the same byte |
| order as the host opening the file, and has the same time stamp |
| precision, link-layer header type, and snapshot length as |
| .IR p , |
| it will write new packets at the end of the file. |
| .SH RETURN VALUES |
| A pointer to a |
| .B pcap_dumper_t |
| structure to use in subsequent |
| .BR pcap_dump (3PCAP) |
| and |
| .BR pcap_dump_close (3PCAP) |
| calls is returned on success. |
| .B NULL |
| is returned on failure. |
| If |
| .B NULL |
| is returned, |
| .BR pcap_geterr (3PCAP) |
| can be used to get the error text. |
| .SH BACKWARD COMPATIBILITY |
| .PP |
| The |
| .BR pcap_dump_open_append () |
| function became available in libpcap release 1.7.2. In previous |
| releases, there is no support for appending packets to an existing |
| savefile. |
| .SH SEE ALSO |
| .BR pcap (3PCAP), |
| .BR \%pcap-savefile (@MAN_FILE_FORMATS@) |