Path: blob/main/crypto/krb5/src/ccapi/common/cci_array_internal.h
39536 views
/* ccapi/common/cci_array_internal.h */1/*2* Copyright 2006 Massachusetts Institute of Technology.3* All Rights Reserved.4*5* Export of this software from the United States of America may6* require a specific license from the United States Government.7* It is the responsibility of any person or organization contemplating8* export to obtain such a license before exporting.9*10* WITHIN THAT CONSTRAINT, permission to use, copy, modify, and11* distribute this software and its documentation for any purpose and12* without fee is hereby granted, provided that the above copyright13* notice appear in all copies and that both that copyright notice and14* this permission notice appear in supporting documentation, and that15* the name of M.I.T. not be used in advertising or publicity pertaining16* to distribution of the software without specific, written prior17* permission. Furthermore if you modify this software you must label18* your software as modified software and not distribute it in such a19* fashion that it might be confused with the original M.I.T. software.20* M.I.T. makes no representations about the suitability of21* this software for any purpose. It is provided "as is" without express22* or implied warranty.23*/2425#ifndef CCI_ARRAY_INTERNAL_H26#define CCI_ARRAY_INTERNAL_H2728#include "cci_types.h"2930struct cci_array_object_d;31typedef struct cci_array_object_d *cci_array_object_t;3233typedef cc_int32 (*cci_array_object_release_t) (cci_array_object_t);3435struct cci_array_d;36typedef struct cci_array_d *cci_array_t;3738cc_int32 cci_array_new (cci_array_t *out_array,39cci_array_object_release_t in_array_object_release);4041cc_int32 cci_array_release (cci_array_t io_array);4243cc_uint64 cci_array_count (cci_array_t in_array);4445cci_array_object_t cci_array_object_at_index (cci_array_t io_array,46cc_uint64 in_position);4748cc_int32 cci_array_insert (cci_array_t io_array,49cci_array_object_t in_object,50cc_uint64 in_position);5152cc_int32 cci_array_remove (cci_array_t io_array,53cc_uint64 in_position);5455cc_int32 cci_array_move (cci_array_t io_array,56cc_uint64 in_position,57cc_uint64 in_new_position,58cc_uint64 *out_real_new_position);5960cc_int32 cci_array_push_front (cci_array_t io_array,61cc_uint64 in_position);626364#endif /* CCI_ARRAY_INTERNAL_H */656667