diff options
author | Alexandra Ellwood <lxs@mit.edu> | 2008-09-30 21:23:17 +0000 |
---|---|---|
committer | Alexandra Ellwood <lxs@mit.edu> | 2008-09-30 21:23:17 +0000 |
commit | 89db2820d03f280d0bf0e217d520e89c2bb8acd2 (patch) | |
tree | baf4c5e5930974bf928509aea9d511d947b623f2 /src/ccapi/common/cci_message.c | |
parent | 6b6d24e1ae0aadffb9062ac94ae8e600e09dbef0 (diff) | |
download | krb5-89db2820d03f280d0bf0e217d520e89c2bb8acd2.zip krb5-89db2820d03f280d0bf0e217d520e89c2bb8acd2.tar.gz krb5-89db2820d03f280d0bf0e217d520e89c2bb8acd2.tar.bz2 |
CCAPI should use common ipc and stream code
KIM and CCAPI should share the same IPC and stream object types.
Modified CCAPI to use code in src/util (stream) and src/util/mac (ipc)
ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20787 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/ccapi/common/cci_message.c')
-rw-r--r-- | src/ccapi/common/cci_message.c | 70 |
1 files changed, 56 insertions, 14 deletions
diff --git a/src/ccapi/common/cci_message.c b/src/ccapi/common/cci_message.c index 4152e6c..b541558 100644 --- a/src/ccapi/common/cci_message.c +++ b/src/ccapi/common/cci_message.c @@ -57,21 +57,21 @@ cc_int32 cci_message_invalid_object_err (enum cci_msg_id_t in_request_name) /* ------------------------------------------------------------------------ */ -cc_int32 cci_message_new_request_header (cci_stream_t *out_request, +cc_int32 cci_message_new_request_header (k5_ipc_stream *out_request, enum cci_msg_id_t in_request_name, cci_identifier_t in_identifier) { cc_int32 err = ccNoError; - cci_stream_t request = NULL; + k5_ipc_stream request = NULL; if (!out_request) { err = cci_check_error (ccErrBadParam); } if (!err) { - err = cci_stream_new (&request); + err = k5_ipc_stream_new (&request); } if (!err) { - err = cci_stream_write_uint32 (request, in_request_name); + err = k5_ipc_stream_write_uint32 (request, in_request_name); } if (!err) { @@ -83,14 +83,14 @@ cc_int32 cci_message_new_request_header (cci_stream_t *out_request, request = NULL; } - cci_stream_release (request); + k5_ipc_stream_release (request); return cci_check_error (err); } /* ------------------------------------------------------------------------ */ -cc_int32 cci_message_read_request_header (cci_stream_t in_request, +cc_int32 cci_message_read_request_header (k5_ipc_stream in_request, enum cci_msg_id_t *out_request_name, cci_identifier_t *out_identifier) { @@ -103,7 +103,7 @@ cc_int32 cci_message_read_request_header (cci_stream_t in_request, if (!out_identifier ) { err = cci_check_error (ccErrBadParam); } if (!err) { - err = cci_stream_read_uint32 (in_request, &request_name); + err = k5_ipc_stream_read_uint32 (in_request, &request_name); } if (!err) { @@ -123,20 +123,20 @@ cc_int32 cci_message_read_request_header (cci_stream_t in_request, /* ------------------------------------------------------------------------ */ -cc_int32 cci_message_new_reply_header (cci_stream_t *out_reply, +cc_int32 cci_message_new_reply_header (k5_ipc_stream *out_reply, cc_int32 in_error) { cc_int32 err = ccNoError; - cci_stream_t reply = NULL; + k5_ipc_stream reply = NULL; if (!out_reply) { err = cci_check_error (ccErrBadParam); } if (!err) { - err = cci_stream_new (&reply); + err = k5_ipc_stream_new (&reply); } if (!err) { - err = cci_stream_write_int32 (reply, in_error); + err = k5_ipc_stream_write_int32 (reply, in_error); } if (!err) { @@ -144,14 +144,14 @@ cc_int32 cci_message_new_reply_header (cci_stream_t *out_reply, reply = NULL; } - cci_stream_release (reply); + k5_ipc_stream_release (reply); return cci_check_error (err); } /* ------------------------------------------------------------------------ */ -cc_int32 cci_message_read_reply_header (cci_stream_t in_reply, +cc_int32 cci_message_read_reply_header (k5_ipc_stream in_reply, cc_int32 *out_reply_error) { cc_int32 err = ccNoError; @@ -161,7 +161,7 @@ cc_int32 cci_message_read_reply_header (cci_stream_t in_reply, if (!out_reply_error) { err = cci_check_error (ccErrBadParam); } if (!err) { - err = cci_stream_read_int32 (in_reply, &reply_err); + err = k5_ipc_stream_read_int32 (in_reply, &reply_err); } if (!err) { @@ -170,3 +170,45 @@ cc_int32 cci_message_read_reply_header (cci_stream_t in_reply, return cci_check_error (err); } + +#ifdef TARGET_OS_MAC +#pragma mark - +#endif + +/* ------------------------------------------------------------------------ */ + +uint32_t k5_ipc_stream_read_time (k5_ipc_stream io_stream, + cc_time_t *out_time) +{ + int32_t err = 0; + int64_t t = 0; + + if (!io_stream) { err = cci_check_error (ccErrBadParam); } + if (!out_time ) { err = cci_check_error (ccErrBadParam); } + + if (!err) { + err = k5_ipc_stream_read_int64 (io_stream, &t); + } + + if (!err) { + *out_time = t; + } + + return cci_check_error (err); +} + +/* ------------------------------------------------------------------------ */ + +uint32_t k5_ipc_stream_write_time (k5_ipc_stream io_stream, + cc_time_t in_time) +{ + int32_t err = 0; + + if (!io_stream) { err = cci_check_error (ccErrBadParam); } + + if (!err) { + err = k5_ipc_stream_write_int64 (io_stream, in_time); + } + + return cci_check_error (err); +} |