#ifndef PKGLIB_ARFILE_H
#define PKGLIB_ARFILE_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/arfile.h"
-#endif
#include <string>
+#include <apt-pkg/macros.h>
+#ifndef APT_8_CLEANER_HEADERS
#include <apt-pkg/fileutl.h>
+#endif
+
+class FileFd;
class ARArchive
{
// Locate a member by name
const Member *FindMember(const char *Name) const;
+ inline Member *Members() { return List; }
ARArchive(FileFd &File);
~ARArchive();
struct ARArchive::Member
{
// Fields from the header
- string Name;
+ std::string Name;
unsigned long MTime;
unsigned long UID;
unsigned long GID;
unsigned long Mode;
- unsigned long Size;
+ unsigned long long Size;
// Location of the data.
- unsigned long Start;
+ unsigned long long Start;
Member *Next;
Member() : Start(0), Next(0) {};