syntax = "proto3";

package libenclave_proto;

message AgentServiceRequest{
    message Execute {
        string argv = 1;
        string envp = 2;
    }

    message Kill {
        int32 sig = 1;
    }

    message Attest {
	string spid       	= 1;
	string subscriptionKey 	= 2;
	uint32 product    	= 3;
	uint32 quoteType	= 4;
    }

    Execute exec = 1;
    Kill kill = 2;
    Attest attest = 3;
}

message AgentServiceResponse {
    message Execute {
        int32 exitCode = 1;
        string error = 2;
    }

    message Attest {
	int32 exitCode = 1;
	string error = 2;
	string statusCode = 3;
	string requestID = 4;
	string xIasreportSignature = 5;
	string xIasreportSigningCertificate = 6;
	string contentLength = 7;
	string contentType = 8;
	string body = 9;
    }

    Execute exec = 1;
    Attest attest = 2;
}
