blob: b67b2762d4f1f2e9505823a3123d198957a1c665 [file] [log] [blame]
Todd Wange5d67b42014-05-27 10:48:07 -07001// This file was auto-generated by the veyron vdl tool.
Tilak Sharma43395f32014-05-27 11:33:38 -07002// Source: profile.vdl
Jiri Simsa5293dcb2014-05-10 09:56:38 -07003
4// Package profile contains implementation and internal interfaces and
5// types used by the implementation of Veyron profiles.
6package profile
7
Jiri Simsa2f8bc272014-07-16 12:29:15 -07008import (
Jiri Simsa519c5072014-09-17 21:37:57 -07009 "veyron.io/veyron/veyron2/services/mgmt/build"
Todd Wang34ed4c62014-11-26 15:15:52 -080010
11 // The non-user imports are prefixed with "__" to prevent collisions.
12 __vdl "veyron.io/veyron/veyron2/vdl"
Jiri Simsa2f8bc272014-07-16 12:29:15 -070013)
Jiri Simsa5293dcb2014-05-10 09:56:38 -070014
15// Library describes a shared library that applications may use.
16type Library struct {
17 // Name is the name of the library.
18 Name string
19 // MajorVersion is the major version of the library.
20 MajorVersion string
21 // MinorVersion is the minor version of the library.
22 MinorVersion string
23}
24
Todd Wang34ed4c62014-11-26 15:15:52 -080025func (Library) __VDLReflect(struct {
26 Name string "veyron.io/veyron/veyron/services/mgmt/profile.Library"
27}) {
28}
29
Jiri Simsa5293dcb2014-05-10 09:56:38 -070030// Specification is how we represent a profile internally. It should
Bogdan Caprita2b219362014-12-09 17:03:33 -080031// provide enough information to allow matching of binaries to devices.
Jiri Simsa5293dcb2014-05-10 09:56:38 -070032type Specification struct {
Jiri Simsa2f8bc272014-07-16 12:29:15 -070033 // Arch is the target hardware architecture of the profile.
34 Arch build.Architecture
35 // Description is a human-friendly description of the profile.
Jiri Simsa5293dcb2014-05-10 09:56:38 -070036 Description string
Jiri Simsa2f8bc272014-07-16 12:29:15 -070037 // Format is the file format supported by the profile.
38 Format build.Format
39 // Libraries is a set of libraries the profile requires.
40 Libraries map[Library]struct{}
41 // Label is a human-friendly concise label for the profile,
42 // e.g. "linux-media".
43 Label string
44 // OS is the target operating system of the profile.
45 OS build.OperatingSystem
Jiri Simsa5293dcb2014-05-10 09:56:38 -070046}
Todd Wang34ed4c62014-11-26 15:15:52 -080047
48func (Specification) __VDLReflect(struct {
49 Name string "veyron.io/veyron/veyron/services/mgmt/profile.Specification"
50}) {
51}
52
53func init() {
54 __vdl.Register(Library{})
55 __vdl.Register(Specification{})
56}