[linker] We need to mark nested types even if the declaring type isn't marked.
[mono-project.git] / mono / metadata / mono-perfcounters.h
blob906d2c69b8b610d9f0c0739cfd0a8a5283fa6880
1 #ifndef __MONO_PERFCOUNTERS_H__
2 #define __MONO_PERFCOUNTERS_H__
4 #include <glib.h>
5 #include <mono/metadata/object.h>
6 #include <mono/utils/mono-compiler.h>
8 typedef struct _MonoCounterSample MonoCounterSample;
10 void* mono_perfcounter_get_impl (MonoString* category, MonoString* counter, MonoString* instance,
11 MonoString* machine, int *type, MonoBoolean *custom);
13 MonoBoolean mono_perfcounter_get_sample (void *impl, MonoBoolean only_value, MonoCounterSample *sample);
15 gint64 mono_perfcounter_update_value (void *impl, MonoBoolean do_incr, gint64 value);
16 void mono_perfcounter_free_data (void *impl);
18 /* Category icalls */
19 MonoBoolean mono_perfcounter_category_del (MonoString *name);
20 MonoString* mono_perfcounter_category_help (MonoString *category, MonoString *machine);
21 MonoBoolean mono_perfcounter_category_exists (MonoString *counter, MonoString *category, MonoString *machine);
22 MonoBoolean mono_perfcounter_create (MonoString *category, MonoString *help, int type, MonoArray *items);
23 int mono_perfcounter_instance_exists (MonoString *instance, MonoString *category, MonoString *machine);
24 MonoArray* mono_perfcounter_category_names (MonoString *machine);
25 MonoArray* mono_perfcounter_counter_names (MonoString *category, MonoString *machine);
26 MonoArray* mono_perfcounter_instance_names (MonoString *category, MonoString *machine);
28 typedef gboolean (*PerfCounterEnumCallback) (char *category_name, char *name, unsigned char type, gint64 value, gpointer user_data);
29 MONO_API void mono_perfcounter_foreach (PerfCounterEnumCallback cb, gpointer user_data);
31 #endif /* __MONO_PERFCOUNTERS_H__ */