xref: /freebsd/crypto/krb5/src/ccapi/common/cci_identifier.h (revision 7f2fe78b9dd5f51c821d771b63d2e096f6fd49e9)
1*7f2fe78bSCy Schubert /* ccapi/common/cci_identifier.h */
2*7f2fe78bSCy Schubert /*
3*7f2fe78bSCy Schubert  * Copyright 2006 Massachusetts Institute of Technology.
4*7f2fe78bSCy Schubert  * All Rights Reserved.
5*7f2fe78bSCy Schubert  *
6*7f2fe78bSCy Schubert  * Export of this software from the United States of America may
7*7f2fe78bSCy Schubert  * require a specific license from the United States Government.
8*7f2fe78bSCy Schubert  * It is the responsibility of any person or organization contemplating
9*7f2fe78bSCy Schubert  * export to obtain such a license before exporting.
10*7f2fe78bSCy Schubert  *
11*7f2fe78bSCy Schubert  * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
12*7f2fe78bSCy Schubert  * distribute this software and its documentation for any purpose and
13*7f2fe78bSCy Schubert  * without fee is hereby granted, provided that the above copyright
14*7f2fe78bSCy Schubert  * notice appear in all copies and that both that copyright notice and
15*7f2fe78bSCy Schubert  * this permission notice appear in supporting documentation, and that
16*7f2fe78bSCy Schubert  * the name of M.I.T. not be used in advertising or publicity pertaining
17*7f2fe78bSCy Schubert  * to distribution of the software without specific, written prior
18*7f2fe78bSCy Schubert  * permission.  Furthermore if you modify this software you must label
19*7f2fe78bSCy Schubert  * your software as modified software and not distribute it in such a
20*7f2fe78bSCy Schubert  * fashion that it might be confused with the original M.I.T. software.
21*7f2fe78bSCy Schubert  * M.I.T. makes no representations about the suitability of
22*7f2fe78bSCy Schubert  * this software for any purpose.  It is provided "as is" without express
23*7f2fe78bSCy Schubert  * or implied warranty.
24*7f2fe78bSCy Schubert  */
25*7f2fe78bSCy Schubert 
26*7f2fe78bSCy Schubert #ifndef CCI_IDENTIFIER_H
27*7f2fe78bSCy Schubert #define CCI_IDENTIFIER_H
28*7f2fe78bSCy Schubert 
29*7f2fe78bSCy Schubert #include "cci_types.h"
30*7f2fe78bSCy Schubert 
31*7f2fe78bSCy Schubert extern const cci_identifier_t cci_identifier_uninitialized;
32*7f2fe78bSCy Schubert 
33*7f2fe78bSCy Schubert cc_int32 cci_identifier_new_uuid (cci_uuid_string_t *out_uuid_string);
34*7f2fe78bSCy Schubert 
35*7f2fe78bSCy Schubert cc_int32 cci_identifier_new (cci_identifier_t *out_identifier,
36*7f2fe78bSCy Schubert                              cci_uuid_string_t in_server_id);
37*7f2fe78bSCy Schubert 
38*7f2fe78bSCy Schubert cc_int32 cci_identifier_copy (cci_identifier_t *out_identifier,
39*7f2fe78bSCy Schubert                               cci_identifier_t  in_handle);
40*7f2fe78bSCy Schubert 
41*7f2fe78bSCy Schubert cc_int32 cci_identifier_release (cci_identifier_t in_identifier);
42*7f2fe78bSCy Schubert 
43*7f2fe78bSCy Schubert cc_int32 cci_identifier_compare (cci_identifier_t  in_identifier,
44*7f2fe78bSCy Schubert                                  cci_identifier_t  in_compare_to_identifier,
45*7f2fe78bSCy Schubert                                  cc_uint32        *out_equal);
46*7f2fe78bSCy Schubert 
47*7f2fe78bSCy Schubert cc_int32 cci_identifier_is_for_server (cci_identifier_t  in_identifier,
48*7f2fe78bSCy Schubert                                        cci_uuid_string_t in_server_id,
49*7f2fe78bSCy Schubert                                        cc_uint32        *out_is_for_server);
50*7f2fe78bSCy Schubert 
51*7f2fe78bSCy Schubert cc_int32 cci_identifier_compare_server_id (cci_identifier_t  in_identifier,
52*7f2fe78bSCy Schubert                                            cci_identifier_t  in_compare_to_identifier,
53*7f2fe78bSCy Schubert                                            cc_uint32        *out_equal_server_id);
54*7f2fe78bSCy Schubert 
55*7f2fe78bSCy Schubert cc_int32 cci_identifier_is_initialized (cci_identifier_t  in_identifier,
56*7f2fe78bSCy Schubert                                         cc_uint32        *out_is_initialized);
57*7f2fe78bSCy Schubert 
58*7f2fe78bSCy Schubert cc_uint32 cci_identifier_read (cci_identifier_t *out_identifier,
59*7f2fe78bSCy Schubert                                k5_ipc_stream      io_stream);
60*7f2fe78bSCy Schubert 
61*7f2fe78bSCy Schubert cc_uint32 cci_identifier_write (cci_identifier_t in_identifier,
62*7f2fe78bSCy Schubert                                 k5_ipc_stream     io_stream);
63*7f2fe78bSCy Schubert 
64*7f2fe78bSCy Schubert #endif /* CCI_IDENTIFIER_H */
65