Merge pull request #2987 from spouliot/ipv6only
[mono.git] / mono / metadata / mono-mlist.h
1 #ifndef __MONO_METADATA_MONO_MLIST_H__
2 #define __MONO_METADATA_MONO_MLIST_H__
3
4 /*
5  * mono-mlist.h: Managed object list implementation
6  */
7
8 #include <mono/metadata/object.h>
9
10 typedef struct _MonoMList MonoMList;
11 MONO_RT_EXTERNAL_ONLY
12 MONO_API MonoMList*  mono_mlist_alloc       (MonoObject *data);
13 MONO_API MonoObject* mono_mlist_get_data    (MonoMList* list);
14 MONO_API void        mono_mlist_set_data    (MonoMList* list, MonoObject *data);
15 MONO_API MonoMList*  mono_mlist_set_next    (MonoMList* list, MonoMList *next);
16 MONO_API int         mono_mlist_length      (MonoMList* list);
17 MONO_API MonoMList*  mono_mlist_next        (MonoMList* list);
18 MONO_API MonoMList*  mono_mlist_last        (MonoMList* list);
19 MONO_RT_EXTERNAL_ONLY
20 MONO_API MonoMList*  mono_mlist_prepend     (MonoMList* list, MonoObject *data);
21 MONO_RT_EXTERNAL_ONLY
22 MONO_API MonoMList*  mono_mlist_append      (MonoMList* list, MonoObject *data);
23
24 MonoMList*  mono_mlist_prepend_checked      (MonoMList* list, MonoObject *data, MonoError *error);
25 MonoMList*  mono_mlist_append_checked       (MonoMList* list, MonoObject *data, MonoError *error);
26
27 MONO_API MonoMList*  mono_mlist_remove_item (MonoMList* list, MonoMList *item);
28
29 #endif /* __MONO_METADATA_MONO_MLIST_H__ */
30