| // Copyright 2015 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // This file was auto-generated by the vanadium vdl tool. |
| // Source: profile.vdl |
| |
| // Package profile defines types for the implementation of Vanadium profiles. |
| package profile |
| |
| import ( |
| // VDL system imports |
| "v.io/v23/vdl" |
| |
| // VDL user imports |
| "v.io/v23/services/build" |
| ) |
| |
| // Library describes a shared library that applications may use. |
| type Library struct { |
| // Name is the name of the library. |
| Name string |
| // MajorVersion is the major version of the library. |
| MajorVersion string |
| // MinorVersion is the minor version of the library. |
| MinorVersion string |
| } |
| |
| func (Library) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/services/profile.Library"` |
| }) { |
| } |
| |
| // Specification is how we represent a profile internally. It should |
| // provide enough information to allow matching of binaries to devices. |
| type Specification struct { |
| // Label is a human-friendly concise label for the profile, |
| // e.g. "linux-media". |
| Label string |
| // Description is a human-friendly description of the profile. |
| Description string |
| // Arch is the target hardware architecture of the profile. |
| Arch build.Architecture |
| // Os is the target operating system of the profile. |
| Os build.OperatingSystem |
| // Format is the file format supported by the profile. |
| Format build.Format |
| // Libraries is a set of libraries the profile requires. |
| Libraries map[Library]struct{} |
| } |
| |
| func (Specification) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/services/profile.Specification"` |
| }) { |
| } |
| |
| func init() { |
| vdl.Register((*Library)(nil)) |
| vdl.Register((*Specification)(nil)) |
| } |