Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/crypto/krb5/src/ccapi/common/cci_array_internal.h
39536 views
1
/* ccapi/common/cci_array_internal.h */
2
/*
3
* Copyright 2006 Massachusetts Institute of Technology.
4
* All Rights Reserved.
5
*
6
* Export of this software from the United States of America may
7
* require a specific license from the United States Government.
8
* It is the responsibility of any person or organization contemplating
9
* export to obtain such a license before exporting.
10
*
11
* WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
12
* distribute this software and its documentation for any purpose and
13
* without fee is hereby granted, provided that the above copyright
14
* notice appear in all copies and that both that copyright notice and
15
* this permission notice appear in supporting documentation, and that
16
* the name of M.I.T. not be used in advertising or publicity pertaining
17
* to distribution of the software without specific, written prior
18
* permission. Furthermore if you modify this software you must label
19
* your software as modified software and not distribute it in such a
20
* fashion that it might be confused with the original M.I.T. software.
21
* M.I.T. makes no representations about the suitability of
22
* this software for any purpose. It is provided "as is" without express
23
* or implied warranty.
24
*/
25
26
#ifndef CCI_ARRAY_INTERNAL_H
27
#define CCI_ARRAY_INTERNAL_H
28
29
#include "cci_types.h"
30
31
struct cci_array_object_d;
32
typedef struct cci_array_object_d *cci_array_object_t;
33
34
typedef cc_int32 (*cci_array_object_release_t) (cci_array_object_t);
35
36
struct cci_array_d;
37
typedef struct cci_array_d *cci_array_t;
38
39
cc_int32 cci_array_new (cci_array_t *out_array,
40
cci_array_object_release_t in_array_object_release);
41
42
cc_int32 cci_array_release (cci_array_t io_array);
43
44
cc_uint64 cci_array_count (cci_array_t in_array);
45
46
cci_array_object_t cci_array_object_at_index (cci_array_t io_array,
47
cc_uint64 in_position);
48
49
cc_int32 cci_array_insert (cci_array_t io_array,
50
cci_array_object_t in_object,
51
cc_uint64 in_position);
52
53
cc_int32 cci_array_remove (cci_array_t io_array,
54
cc_uint64 in_position);
55
56
cc_int32 cci_array_move (cci_array_t io_array,
57
cc_uint64 in_position,
58
cc_uint64 in_new_position,
59
cc_uint64 *out_real_new_position);
60
61
cc_int32 cci_array_push_front (cci_array_t io_array,
62
cc_uint64 in_position);
63
64
65
#endif /* CCI_ARRAY_INTERNAL_H */
66
67