summaryrefslogtreecommitdiffstats
path: root/src/ccapi/server/ccs_pipe.c
diff options
context:
space:
mode:
authorAlexandra Ellwood <lxs@mit.edu>2007-06-12 21:07:16 +0000
committerAlexandra Ellwood <lxs@mit.edu>2007-06-12 21:07:16 +0000
commit05b0fe74bb6eb10a49333d42f9f1677235863f85 (patch)
treebbf3ca5514c49c0ac7d4f70073cb3208607cc05d /src/ccapi/server/ccs_pipe.c
parentfd7e3b884d0fa19a4d9b1f1965e656b62beb7351 (diff)
downloadkrb5-05b0fe74bb6eb10a49333d42f9f1677235863f85.tar.gz
krb5-05b0fe74bb6eb10a49333d42f9f1677235863f85.tar.xz
krb5-05b0fe74bb6eb10a49333d42f9f1677235863f85.zip
Add advisory locking to CCAPI
Added code to trash client crashes. Reorganized server launch to make it easier to implement platform specific code. ticket: new status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19573 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/ccapi/server/ccs_pipe.c')
-rw-r--r--src/ccapi/server/ccs_pipe.c130
1 files changed, 1 insertions, 129 deletions
diff --git a/src/ccapi/server/ccs_pipe.c b/src/ccapi/server/ccs_pipe.c
index 2b33f92a0..a7a547f17 100644
--- a/src/ccapi/server/ccs_pipe.c
+++ b/src/ccapi/server/ccs_pipe.c
@@ -27,137 +27,9 @@
#include "ccs_common.h"
#include "ccs_os_pipe.h"
-struct ccs_pipe_d {
- ccs_os_pipe_t os_pipe;
-};
-
-struct ccs_pipe_d ccs_pipe_initializer = { CCS_OS_PIPE_NULL };
-
-/* ------------------------------------------------------------------------ */
-
-cc_int32 ccs_pipe_new (ccs_pipe_t *out_pipe,
- ccs_os_pipe_t in_os_pipe)
-{
- cc_int32 err = ccNoError;
- ccs_pipe_t new_pipe = NULL;
-
- if (!out_pipe ) { err = cci_check_error (ccErrBadParam); }
- if (!ccs_os_pipe_valid (in_os_pipe)) { err = cci_check_error (ccErrBadParam); }
-
- if (!err) {
- new_pipe = malloc (sizeof (*new_pipe));
- if (new_pipe) {
- *new_pipe = ccs_pipe_initializer;
- } else {
- err = cci_check_error (ccErrNoMem);
- }
- }
-
- if (!err) {
- err = ccs_os_pipe_copy (&new_pipe->os_pipe, in_os_pipe);
- }
-
- if (!err) {
- *out_pipe = new_pipe;
- new_pipe = NULL;
- }
-
- ccs_pipe_release (new_pipe);
- return cci_check_error (err);
-}
-
-/* ------------------------------------------------------------------------ */
-
-cc_int32 ccs_pipe_release (ccs_pipe_t io_pipe)
-{
- cc_int32 err = ccNoError;
-
- if (!io_pipe) { err = ccErrBadParam; }
-
- if (!err) {
- ccs_os_pipe_release (io_pipe->os_pipe);
- free (io_pipe);
- }
-
- return cci_check_error (err);
-}
-
-/* ------------------------------------------------------------------------ */
-
-cc_int32 ccs_pipe_copy (ccs_pipe_t *out_pipe,
- ccs_pipe_t in_pipe)
-{
- cc_int32 err = ccNoError;
-
- if (!out_pipe) { err = cci_check_error (ccErrBadParam); }
- if (!in_pipe ) { err = cci_check_error (ccErrBadParam); }
-
- if (!err) {
- err = ccs_pipe_new (out_pipe, in_pipe->os_pipe);
- }
-
- return cci_check_error (err);
-}
-
-/* ------------------------------------------------------------------------ */
-
-cc_int32 ccs_pipe_compare (ccs_pipe_t in_pipe,
- ccs_pipe_t in_compare_to_pipe,
- cc_uint32 *out_equal)
-{
- cc_int32 err = ccNoError;
-
- if (!in_pipe ) { err = cci_check_error (ccErrBadParam); }
- if (!in_compare_to_pipe) { err = cci_check_error (ccErrBadParam); }
- if (!out_equal ) { err = cci_check_error (ccErrBadParam); }
-
- if (!err) {
- err = ccs_os_pipe_compare (in_pipe->os_pipe,
- in_compare_to_pipe->os_pipe,
- out_equal);
- }
-
- return cci_check_error (err);
-}
-
-/* ------------------------------------------------------------------------ */
-
-cc_int32 ccs_pipe_compare_to_os_pipe (ccs_pipe_t in_pipe,
- ccs_os_pipe_t in_compare_to_os_pipe,
- cc_uint32 *out_equal)
-{
- cc_int32 err = ccNoError;
-
- if (in_pipe) { err = cci_check_error (ccErrBadParam); }
-
- if (!err) {
- err = ccs_os_pipe_compare (in_pipe->os_pipe,
- in_compare_to_os_pipe,
- out_equal);
- }
-
- return cci_check_error (err);
-}
-
/* ------------------------------------------------------------------------ */
cc_int32 ccs_pipe_valid (ccs_pipe_t in_pipe)
{
- if (in_pipe) {
- return ccs_os_pipe_valid (in_pipe->os_pipe);
- } else {
- return 0;
- }
-}
-
-
-/* ------------------------------------------------------------------------ */
-
-ccs_os_pipe_t ccs_pipe_os (ccs_pipe_t in_pipe)
-{
- if (in_pipe) {
- return in_pipe->os_pipe;
- } else {
- return CCS_OS_PIPE_NULL;
- }
+ return ccs_os_pipe_valid (in_pipe);
}