// Code generated by protoc-gen-go.
// source: manifest.proto
// DO NOT EDIT!

/*
Package proto is a generated protocol buffer package.

It is generated from these files:
	manifest.proto

It has these top-level messages:
	Manifest
	Resource
	XAttr
	ADSEntry
*/
package proto

import proto1 "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto1.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto1.ProtoPackageIsVersion2 // please upgrade the proto package

// Manifest specifies the entries in a container bundle, keyed and sorted by
// path.
type Manifest struct {
	Resource []*Resource `protobuf:"bytes,1,rep,name=resource" json:"resource,omitempty"`
}

func (m *Manifest) Reset()                    { *m = Manifest{} }
func (m *Manifest) String() string            { return proto1.CompactTextString(m) }
func (*Manifest) ProtoMessage()               {}
func (*Manifest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

func (m *Manifest) GetResource() []*Resource {
	if m != nil {
		return m.Resource
	}
	return nil
}

type Resource struct {
	// Path specifies the path from the bundle root. If more than one
	// path is present, the entry may represent a hardlink, rather than using
	// a link target. The path format is operating system specific.
	Path []string `protobuf:"bytes,1,rep,name=path" json:"path,omitempty"`
	// Uid specifies the user id for the resource. A string type is used for
	// compatibility across different OS.
	Uid string `protobuf:"bytes,2,opt,name=uid" json:"uid,omitempty"`
	// Gid specifies the group id for the resource. A string type is used for
	// compatibility across different OS.
	Gid string `protobuf:"bytes,3,opt,name=gid" json:"gid,omitempty"`
	// user and group are not currently used but their field numbers have been
	// reserved for future use. As such, they are marked as deprecated.
	User  string `protobuf:"bytes,4,opt,name=user" json:"user,omitempty"`
	Group string `protobuf:"bytes,5,opt,name=group" json:"group,omitempty"`
	// Mode defines the file mode and permissions. We've used the same
	// bit-packing from Go's os package,
	// http://golang.org/pkg/os/#FileMode, since they've done the work of
	// creating a cross-platform layout.
	Mode uint32 `protobuf:"varint,6,opt,name=mode" json:"mode,omitempty"`
	// Size specifies the size in bytes of the resource. This is only valid
	// for regular files.
	Size uint64 `protobuf:"varint,7,opt,name=size" json:"size,omitempty"`
	// Digest specifies the content digest of the target file. Only valid for
	// regular files. The strings are formatted as <alg>:<digest hex bytes>.
	// The digests are sorted in lexical order and implementations may choose
	// which algorithms they prefer.
	Digest []string `protobuf:"bytes,8,rep,name=digest" json:"digest,omitempty"`
	// Target defines the target of a hard or soft link. Absolute links start
	// with a slash and specify the resource relative to the bundle root.
	// Relative links do not start with a slash and are relative to the
	// resource path.
	Target string `protobuf:"bytes,9,opt,name=target" json:"target,omitempty"`
	// Major specifies the major device number for charactor and block devices.
	Major uint64 `protobuf:"varint,10,opt,name=major" json:"major,omitempty"`
	// Minor specifies the minor device number for charactor and block devices.
	Minor uint64 `protobuf:"varint,11,opt,name=minor" json:"minor,omitempty"`
	// Xattr provides storage for extended attributes for the target resource.
	Xattr []*XAttr `protobuf:"bytes,12,rep,name=xattr" json:"xattr,omitempty"`
	// Ads stores one or more alternate data streams for the target resource.
	Ads []*ADSEntry `protobuf:"bytes,13,rep,name=ads" json:"ads,omitempty"`
}

func (m *Resource) Reset()                    { *m = Resource{} }
func (m *Resource) String() string            { return proto1.CompactTextString(m) }
func (*Resource) ProtoMessage()               {}
func (*Resource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

func (m *Resource) GetXattr() []*XAttr {
	if m != nil {
		return m.Xattr
	}
	return nil
}

func (m *Resource) GetAds() []*ADSEntry {
	if m != nil {
		return m.Ads
	}
	return nil
}

// XAttr encodes extended attributes for a resource.
type XAttr struct {
	// Name specifies the attribute name.
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	// Data specifies the associated data for the attribute.
	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
}

func (m *XAttr) Reset()                    { *m = XAttr{} }
func (m *XAttr) String() string            { return proto1.CompactTextString(m) }
func (*XAttr) ProtoMessage()               {}
func (*XAttr) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }

// ADSEntry encodes information for a Windows Alternate Data Stream.
type ADSEntry struct {
	// Name specifices the stream name.
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	// Data specifies the stream data.
	// See also the description about the digest below.
	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	// Digest is a CAS representation of the stream data.
	//
	// At least one of data or digest MUST be specified, and either one of them
	// SHOULD be specified.
	//
	// How to access the actual data using the digest is implementation-specific,
	// and implementations can choose not to implement digest.
	// So, digest SHOULD be used only when the stream data is large.
	Digest string `protobuf:"bytes,3,opt,name=digest" json:"digest,omitempty"`
}

func (m *ADSEntry) Reset()                    { *m = ADSEntry{} }
func (m *ADSEntry) String() string            { return proto1.CompactTextString(m) }
func (*ADSEntry) ProtoMessage()               {}
func (*ADSEntry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }

func init() {
	proto1.RegisterType((*Manifest)(nil), "proto.Manifest")
	proto1.RegisterType((*Resource)(nil), "proto.Resource")
	proto1.RegisterType((*XAttr)(nil), "proto.XAttr")
	proto1.RegisterType((*ADSEntry)(nil), "proto.ADSEntry")
}

func init() { proto1.RegisterFile("manifest.proto", fileDescriptor0) }

var fileDescriptor0 = []byte{
	// 313 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x90, 0x41, 0x4b, 0xfb, 0x40,
	0x10, 0xc5, 0x49, 0x93, 0xf4, 0x9f, 0x4e, 0xdb, 0xbf, 0xb2, 0x48, 0x99, 0x63, 0xcc, 0x29, 0x20,
	0x54, 0xd0, 0x83, 0xe7, 0x8a, 0x5e, 0x04, 0x2f, 0xeb, 0xc5, 0xeb, 0xea, 0xae, 0x71, 0x85, 0x64,
	0xc3, 0x66, 0x03, 0xea, 0x97, 0xf3, 0xab, 0xc9, 0x4c, 0xb6, 0x45, 0x6f, 0x9e, 0xf2, 0xde, 0x6f,
	0x76, 0x26, 0x8f, 0x07, 0xff, 0x5b, 0xd5, 0xd9, 0x17, 0x33, 0x84, 0x6d, 0xef, 0x5d, 0x70, 0x22,
	0xe7, 0x4f, 0x75, 0x05, 0xc5, 0x7d, 0x1c, 0x88, 0x33, 0x28, 0xbc, 0x19, 0xdc, 0xe8, 0x9f, 0x0d,
	0x26, 0x65, 0x5a, 0x2f, 0x2f, 0x8e, 0xa6, 0xc7, 0x5b, 0x19, 0xb1, 0x3c, 0x3c, 0xa8, 0xbe, 0x66,
	0x50, 0xec, 0xb1, 0x10, 0x90, 0xf5, 0x2a, 0xbc, 0xf2, 0xd6, 0x42, 0xb2, 0x16, 0xc7, 0x90, 0x8e,
	0x56, 0xe3, 0xac, 0x4c, 0xea, 0x85, 0x24, 0x49, 0xa4, 0xb1, 0x1a, 0xd3, 0x89, 0x34, 0x56, 0x8b,
	0x0d, 0x64, 0xe3, 0x60, 0x3c, 0x66, 0x84, 0xae, 0x67, 0x98, 0x48, 0xf6, 0x02, 0x21, 0x6f, 0xbc,
	0x1b, 0x7b, 0xcc, 0x0f, 0x83, 0x09, 0xd0, 0x9f, 0x5a, 0xa7, 0x0d, 0xce, 0xcb, 0xa4, 0x5e, 0x4b,
	0xd6, 0xc4, 0x06, 0xfb, 0x69, 0xf0, 0x5f, 0x99, 0xd4, 0x99, 0x64, 0x2d, 0x36, 0x30, 0xd7, 0xb6,
	0x31, 0x43, 0xc0, 0x82, 0x33, 0x45, 0x47, 0x3c, 0x28, 0xdf, 0x98, 0x80, 0x0b, 0x8e, 0x11, 0x9d,
	0x38, 0x81, 0xbc, 0x55, 0x6f, 0xce, 0x23, 0xf0, 0x91, 0xc9, 0x30, 0xb5, 0x9d, 0xf3, 0xb8, 0x8c,
	0x94, 0x8c, 0xa8, 0x20, 0x7f, 0x57, 0x21, 0x78, 0x5c, 0x71, 0x49, 0xab, 0x58, 0xd2, 0xe3, 0x2e,
	0x04, 0x2f, 0xa7, 0x91, 0x38, 0x85, 0x54, 0xe9, 0x01, 0xd7, 0xbf, 0x6a, 0xdc, 0xdd, 0x3c, 0xdc,
	0x76, 0xc1, 0x7f, 0x48, 0x9a, 0x55, 0xe7, 0x90, 0xf3, 0x0a, 0xe5, 0xef, 0x54, 0x4b, 0x9d, 0x53,
	0x22, 0xd6, 0xc4, 0xb4, 0x0a, 0x8a, 0xeb, 0x5b, 0x49, 0xd6, 0xd5, 0x1d, 0x14, 0xfb, 0x0b, 0x7f,
	0xdd, 0xf9, 0xd1, 0xc3, 0x54, 0x7b, 0x74, 0x4f, 0x73, 0x4e, 0x74, 0xf9, 0x1d, 0x00, 0x00, 0xff,
	0xff, 0x91, 0xfe, 0x64, 0xca, 0x17, 0x02, 0x00, 0x00,
}
