WIP: bees service
[jackhill/guix/guix.git] / nix / libstore / worker-protocol.hh
CommitLineData
36457566
LC
1#pragma once
2
3namespace nix {
4
5
6#define WORKER_MAGIC_1 0x6e697863
7#define WORKER_MAGIC_2 0x6478696f
8
6ef61cc4 9#define PROTOCOL_VERSION 0x163
36457566
LC
10#define GET_PROTOCOL_MAJOR(x) ((x) & 0xff00)
11#define GET_PROTOCOL_MINOR(x) ((x) & 0x00ff)
12
13
14typedef enum {
36457566
LC
15 wopIsValidPath = 1,
16 wopHasSubstitutes = 3,
17 wopQueryPathHash = 4,
18 wopQueryReferences = 5,
19 wopQueryReferrers = 6,
20 wopAddToStore = 7,
21 wopAddTextToStore = 8,
22 wopBuildPaths = 9,
23 wopEnsurePath = 10,
24 wopAddTempRoot = 11,
25 wopAddIndirectRoot = 12,
26 wopSyncWithGC = 13,
27 wopFindRoots = 14,
28 wopExportPath = 16,
29 wopQueryDeriver = 18,
30 wopSetOptions = 19,
31 wopCollectGarbage = 20,
32 wopQuerySubstitutablePathInfo = 21,
33 wopQueryDerivationOutputs = 22,
34 wopQueryAllValidPaths = 23,
35 wopQueryFailedPaths = 24,
36 wopClearFailedPaths = 25,
37 wopQueryPathInfo = 26,
38 wopImportPaths = 27,
39 wopQueryDerivationOutputNames = 28,
40 wopQueryPathFromHashPart = 29,
41 wopQuerySubstitutablePathInfos = 30,
42 wopQueryValidPaths = 31,
43 wopQuerySubstitutablePaths = 32,
44 wopQueryValidDerivers = 33,
54c260e6 45 wopOptimiseStore = 34,
f9aefa2d
LC
46 wopVerifyStore = 35,
47 wopBuiltinBuilders = 80
36457566
LC
48} WorkerOp;
49
50
51#define STDERR_NEXT 0x6f6c6d67
52#define STDERR_READ 0x64617461 // data needed from source
53#define STDERR_WRITE 0x64617416 // data for sink
54#define STDERR_LAST 0x616c7473
55#define STDERR_ERROR 0x63787470
56
57
58Path readStorePath(Source & from);
59template<class T> T readStorePaths(Source & from);
60
61
62}