]> git.saurik.com Git - apple/securityd.git/blob - libsecurity_agent/mig/sa_reply.defs
securityd-55199.2.tar.gz
[apple/securityd.git] / libsecurity_agent / mig / sa_reply.defs
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
7 subsystem secagentreply 1200;
8 serverprefix sa_reply_server_;
9 userprefix sa_reply_client_;
10
11 import <security_agent_client/sa_types.h>;
12
13 //
14 // Data types
15 //
16 type OSStatus = int32;
17 type AuthorizationResult = int32;
18
19 type Data = array [] of char;
20
21 type AuthorizationItemSetBlob = Data
22 ctype: AuthorizationItemSetPtr;
23 type AuthorizationItemSetPtr = unsigned32;
24 type AuthorizationValueVectorBlob = Data
25 ctype: AuthorizationValueVectorPtr;
26 type AuthorizationValueVectorPtr = unsigned32;
27
28
29 #define BLOB(name,type) name: type##Blob; name##Base: type##Ptr
30
31 //
32 // Staged SecurityAgent reply protocol
33 //
34 simpleroutine didCreate(requestport instanceReplyPort: mach_port_t;
35 instanceRequestPort: mach_port_make_send_t); // give client send rights to mechanism request port
36
37 simpleroutine setResult(requestport instanceReplyPort: mach_port_t;
38 status: AuthorizationResult;
39 BLOB(hintsIn,AuthorizationItemSet);
40 BLOB(contextIn,AuthorizationItemSet));
41
42 simpleroutine requestInterrupt(requestport instanceReplyPort: mach_port_t);
43
44 simpleroutine didDeactivate(requestport instanceReplyPort: mach_port_t);
45
46 simpleroutine reportError(requestport instanceReplyPort: mach_port_t;
47 status: OSStatus);
48
49 simpleroutine 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
54 skip; // client: txEnd