Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../../../../../../usr/include/idn/../idlist.h
Real path: /usr/include/idlist.h
Zurück
/* * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. */ #ifndef _IDLIST_H #define _IDLIST_H #include <sys/list.h> #include <sys/types.h> #include <sys/avl.h> #ifdef __cplusplus extern "C" { #endif #define IDLIST_TYPE_UNKNOWN 0 #define IDLIST_TYPE_CPU 1 #define IDLIST_TYPE_CORE 2 #define IDLIST_TYPE_SOCKET 3 #define IDLIST_TYPE_ALL 4 #define IDLIST_STR_CPU "cpu" #define IDLIST_STR_CORE "core" #define IDLIST_STR_SOCKET "socket" #define IDLIST_STR_ALL "all" /* * Structures for fetching and assigning the current set of cpus, cores, and * sockets on the system */ typedef struct _idlist_cpu_state idlist_cpu_state_t; typedef struct _idlist_cpu idlist_cpu_t; typedef struct _idlist_core idlist_core_t; typedef struct _idlist_socket idlist_socket_t; typedef struct _idlist_pg idlist_pg_t; typedef struct _idlist_lgrp idlist_lgrp_t; /* * Structure to contain parsed form of an idlist, such as * "1,3,5-10" */ typedef struct _idlist idlist_t; /* * Convert an idlist to internal structure and back. */ extern idlist_t *idlist_parse(const char *); extern char *idlist_to_string(idlist_t *, size_t); /* * idlist operations */ extern idlist_t *idlist_alloc(void); extern void idlist_free(idlist_t *); extern boolean_t idlist_has_id(idlist_t *, int __id); extern int idlist_add_id(idlist_t *, int __id); extern idlist_t *idlist_merge(idlist_t *, idlist_t *); extern idlist_t *idlist_intersections(idlist_t *, idlist_t *); extern idlist_t *idlist_misses(idlist_t *, idlist_t *); extern idlist_t *idlist_remove(idlist_t *, idlist_t *); extern int idlist_is_empty(idlist_t *); extern uint_t idlist_count(idlist_t *); /* * Fetch the current set of cpus, cores and sockets */ extern idlist_cpu_state_t *idlist_get_cpu_state(void); extern void idlist_free_cpu_state(idlist_cpu_state_t *); extern void idlist_test_cpu_state(void); /* * Functions for looking up cpus, cores, and sockets. None of the * returned structures should be freed by the caller. They are freed when the * related idlist_cpu_state_t * is freed. */ extern idlist_cpu_t *idlist_get_cpu(idlist_cpu_state_t *, int); extern boolean_t idlist_get_cpu_online(idlist_cpu_t *); extern id_t idlist_get_cpu_pset(idlist_cpu_t *); extern int idlist_get_cpu_id(idlist_cpu_t *, char *); extern void idlist_get_cpu_assigned(idlist_cpu_t *, int *, int *, const char **); extern int idlist_set_cpu_assigned(idlist_cpu_t *, int, int, const char *); extern idlist_core_t *idlist_get_core(idlist_cpu_state_t *, int); extern uint_t idlist_get_core_cpus_online(idlist_core_t *); extern void idlist_get_core_assigned(idlist_core_t *, int *, int *, const char **); extern int idlist_set_core_assigned(idlist_core_t *, int, int, const char *); extern idlist_socket_t *idlist_get_socket(idlist_cpu_state_t *, int); extern uint_t idlist_get_socket_cpus_online(idlist_socket_t *); extern void idlist_get_socket_assigned(idlist_socket_t *, int *, int *, const char **); extern int idlist_set_socket_assigned(idlist_socket_t *, int, int, const char *); extern int *idlist_get_socket_cpus(idlist_cpu_state_t *, int, uint_t *); extern int *idlist_get_socket_cores(idlist_cpu_state_t *, int, uint_t *); extern int *idlist_get_core_cpus(idlist_cpu_state_t *, int, uint_t *); extern idlist_pg_t *idlist_get_pg(idlist_cpu_state_t *, int); extern int *idlist_get_pg_cpus(idlist_cpu_state_t *, int, uint_t *); extern idlist_lgrp_t *idlist_get_lgrp(idlist_cpu_state_t *, int); extern int *idlist_get_lgrp_cpus(idlist_cpu_state_t *, int, uint_t *); /* * Convert an idlist to a fully expanded array of ints based on the * current cpu resources. This function takes into account the running * system, so is only applicable when manipulating a dynamic configuration * or commiting a configuration. */ extern int idlist_to_ids(idlist_cpu_state_t *, const char *__type, idlist_t *, int **, uint_t *); extern idlist_t *idlist_allids_misses(idlist_cpu_state_t *, const char *, idlist_t *); extern void idlist_print_cpu_state(idlist_cpu_state_t *); #ifdef __cplusplus } #endif #endif /* _IDLIST_H */