diff options
| author | Alexandra Ellwood <lxs@mit.edu> | 2007-07-19 21:13:01 +0000 |
|---|---|---|
| committer | Alexandra Ellwood <lxs@mit.edu> | 2007-07-19 21:13:01 +0000 |
| commit | c7f2957ec351c161b999c3bdfb654bc8a84556e1 (patch) | |
| tree | faffc21e13d048fc1c5975c36fc44d988de74f31 /src/ccapi/server/ccs_lockref.c | |
| parent | 412af5988acf11f4d7824f5b42265515b86ddad4 (diff) | |
Made callback code generic so that change time callbacks can use it as well
ticket: 4644
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19719 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/ccapi/server/ccs_lockref.c')
| -rw-r--r-- | src/ccapi/server/ccs_lockref.c | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/src/ccapi/server/ccs_lockref.c b/src/ccapi/server/ccs_lockref.c deleted file mode 100644 index 78f80ae5d1..0000000000 --- a/src/ccapi/server/ccs_lockref.c +++ /dev/null @@ -1,121 +0,0 @@ -/* - * $Header$ - * - * Copyright 2006 Massachusetts Institute of Technology. - * All Rights Reserved. - * - * Export of this software from the United States of America may - * require a specific license from the United States Government. - * It is the responsibility of any person or organization contemplating - * export to obtain such a license before exporting. - * - * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - * distribute this software and its documentation for any purpose and - * without fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, and that - * the name of M.I.T. not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. Furthermore if you modify this software you must label - * your software as modified software and not distribute it in such a - * fashion that it might be confused with the original M.I.T. software. - * M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" without express - * or implied warranty. - */ - -#include "ccs_common.h" - -struct ccs_lockref_d { - ccs_client_t client_owner; - ccs_lock_t lock; -}; - -struct ccs_lockref_d ccs_lockref_initializer = { NULL, NULL }; - -/* ------------------------------------------------------------------------ */ - -cc_int32 ccs_lockref_new (ccs_lockref_t *out_lockref, - ccs_client_t in_client_owner, - ccs_lock_t in_lock) -{ - cc_int32 err = ccNoError; - ccs_lockref_t lockref = NULL; - - if (!out_lockref ) { err = cci_check_error (ccErrBadParam); } - if (!in_client_owner) { err = cci_check_error (ccErrBadParam); } - if (!in_lock ) { err = cci_check_error (ccErrBadParam); } - - if (!err) { - lockref = malloc (sizeof (*lockref)); - if (lockref) { - *lockref = ccs_lockref_initializer; - } else { - err = cci_check_error (ccErrNoMem); - } - } - - if (!err) { - lockref->client_owner = in_client_owner; - lockref->lock = in_lock; - - *out_lockref = lockref; - lockref = NULL; - } - - ccs_lockref_release (lockref); - - return cci_check_error (err); -} - -/* ------------------------------------------------------------------------ */ - -cc_int32 ccs_lockref_release (ccs_lockref_t io_lockref) -{ - cc_int32 err = ccNoError; - - if (!io_lockref) { err = cci_check_error (ccErrBadParam); } - - if (!err) { - if (io_lockref->lock) { - ccs_lock_invalidate (io_lockref->lock); - } - free (io_lockref); - } - - return cci_check_error (err); -} - -/* ------------------------------------------------------------------------ */ - -cc_int32 ccs_lockref_invalidate (ccs_lockref_t io_lockref) -{ - cc_int32 err = ccNoError; - - if (!io_lockref) { err = cci_check_error (ccErrBadParam); } - - if (!err) { - io_lockref->lock = NULL; /* so we don't loop */ - } - - return cci_check_error (err); -} - -/* ------------------------------------------------------------------------ */ - -cc_int32 ccs_lockref_is_for_lock (ccs_lockref_t in_lockref, - ccs_lock_t in_lock, - cc_uint32 *out_is_for_lock) -{ - cc_int32 err = ccNoError; - - if (!in_lockref ) { err = cci_check_error (ccErrBadParam); } - if (!in_lock ) { err = cci_check_error (ccErrBadParam); } - if (!out_is_for_lock) { err = cci_check_error (ccErrBadParam); } - - if (!err) { - *out_is_for_lock = (in_lockref->lock == in_lock); - } - - return cci_check_error (err); -} |
