pkg binarylib, const BufferLength ideal-int
pkg binarylib, const Version ideal-string
pkg binarylib, const VersionFile ideal-string
pkg binarylib, func Delete(*context.T, string) error
pkg binarylib, func Download(*context.T, string) ([]byte, repository.MediaInfo, error)
pkg binarylib, func DownloadToFile(*context.T, string, string) error
pkg binarylib, func DownloadUrl(*context.T, string) (string, int64, error)
pkg binarylib, func NewDispatcher(security.Principal, *state) (rpc.Dispatcher, error)
pkg binarylib, func NewHTTPRoot(*state) http.FileSystem
pkg binarylib, func NewState(string, string, int) (*state, error)
pkg binarylib, func SetupRootDir(string) (string, error)
pkg binarylib, func Upload(*context.T, string, []byte, repository.MediaInfo) (*security.Signature, error)
pkg binarylib, func UploadFromDir(*context.T, string, string) (*security.Signature, error)
pkg binarylib, func UploadFromFile(*context.T, string, string) (*security.Signature, error)
pkg binarylib, var ErrInProgress verror.IDAction
pkg binarylib, var ErrInvalidPart verror.IDAction
pkg binarylib, var ErrInvalidParts verror.IDAction
pkg binarylib, var ErrNotAuthorized verror.IDAction
pkg binarylib, var ErrOperationFailed verror.IDAction
pkg binarylib, var MissingPart binary.PartInfo
