a75c7589b84d8fe93d1039f7305298c22815185bvboxsync/* $Id$ */
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync/** @file
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync * Helpers for writing libpcap files.
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync */
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync/*
c58f1213e628a545081c70e26c6b67a841cff880vboxsync * Copyright (C) 2006-2010 Oracle Corporation
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync *
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync * available from http://www.virtualbox.org. This file is free software;
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync * you can redistribute it and/or modify it under the terms of the GNU
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync * General Public License (GPL) as published by the Free Software
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync */
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync#ifndef ___VBox_Pcap_h
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync#define ___VBox_Pcap_h
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync#include <iprt/stream.h>
6dd8f5023a9ba7588212331db90059553136fe33vboxsync#include <VBox/types.h>
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync
590bfe12ce22cd3716448fbb9f4dc51664bfe5e2vboxsyncRT_C_DECLS_BEGIN
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync
a75c7589b84d8fe93d1039f7305298c22815185bvboxsyncint PcapStreamHdr(PRTSTREAM pStream, uint64_t StartNanoTS);
a75c7589b84d8fe93d1039f7305298c22815185bvboxsyncint PcapStreamFrame(PRTSTREAM pStream, uint64_t StartNanoTS, const void *pvFrame, size_t cbFrame, size_t cbMax);
6dd8f5023a9ba7588212331db90059553136fe33vboxsyncint PcapStreamGsoFrame(PRTSTREAM pStream, uint64_t StartNanoTS, PCPDMNETWORKGSO pGso,
6dd8f5023a9ba7588212331db90059553136fe33vboxsync const void *pvFrame, size_t cbFrame, size_t cbMax);
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync
a75c7589b84d8fe93d1039f7305298c22815185bvboxsyncint PcapFileHdr(RTFILE File, uint64_t StartNanoTS);
a75c7589b84d8fe93d1039f7305298c22815185bvboxsyncint PcapFileFrame(RTFILE File, uint64_t StartNanoTS, const void *pvFrame, size_t cbFrame, size_t cbMax);
6dd8f5023a9ba7588212331db90059553136fe33vboxsyncint PcapFileGsoFrame(RTFILE File, uint64_t StartNanoTS, PCPDMNETWORKGSO pGso,
6dd8f5023a9ba7588212331db90059553136fe33vboxsync const void *pvFrame, size_t cbFrame, size_t cbSegMax);
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync
590bfe12ce22cd3716448fbb9f4dc51664bfe5e2vboxsyncRT_C_DECLS_END
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync#endif
a75c7589b84d8fe93d1039f7305298c22815185bvboxsync