]> git.saurik.com Git - apple/security.git/blame - securityd/libsecurity_agent/mig/sa_reply.defs
Security-57031.1.35.tar.gz
[apple/security.git] / securityd / libsecurity_agent / mig / sa_reply.defs
CommitLineData
d8f41ccd
A
1//
2// sa_reply.defs - SecurityAgent-side Mach RPC interface to Server.
3//
4#include <mach/std_types.defs>
5#include <mach/mach_types.defs>
6
7subsystem secagentreply 1200;
8serverprefix sa_reply_server_;
9userprefix sa_reply_client_;
10
11import <security_agent_client/sa_types.h>;
12
13//
14// Data types
15//
16type OSStatus = int32;
17type AuthorizationResult = int32;
18
19type Data = array [] of char;
20
21type AuthorizationItemSetBlob = Data
22 ctype: AuthorizationItemSetPtr;
23type AuthorizationItemSetPtr = unsigned32;
24type AuthorizationValueVectorBlob = Data
25 ctype: AuthorizationValueVectorPtr;
26type AuthorizationValueVectorPtr = unsigned32;
27
28
29#define BLOB(name,type) name: type##Blob; name##Base: type##Ptr
30
31//
32// Staged SecurityAgent reply protocol
33//
34simpleroutine didCreate(requestport instanceReplyPort: mach_port_t;
35 instanceRequestPort: mach_port_make_send_t); // give client send rights to mechanism request port
36
37simpleroutine setResult(requestport instanceReplyPort: mach_port_t;
38 status: AuthorizationResult;
39 BLOB(hintsIn,AuthorizationItemSet);
40 BLOB(contextIn,AuthorizationItemSet));
41
42simpleroutine requestInterrupt(requestport instanceReplyPort: mach_port_t);
43
44simpleroutine didDeactivate(requestport instanceReplyPort: mach_port_t);
45
46simpleroutine reportError(requestport instanceReplyPort: mach_port_t;
47 status: OSStatus);
48
49simpleroutine didStartTx(clientReplyPort: mach_port_move_send_once_t;
50 result: kern_return_t);
51
52// in case we decide to support true synchronous agent client IPCs, this
53// keeps sa_reply routine #s at parity with sa_request routine #s
54skip; // client: txEnd