xref: /openbmc/linux/drivers/s390/cio/idset.h (revision b2441318)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
283b3370cSPeter Oberparleiter /*
3cec85466SSebastian Ott  *    Copyright IBM Corp. 2007, 2012
483b3370cSPeter Oberparleiter  *    Author(s): Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
583b3370cSPeter Oberparleiter  */
683b3370cSPeter Oberparleiter 
783b3370cSPeter Oberparleiter #ifndef S390_IDSET_H
899ec1112SDaniel van Gerpen #define S390_IDSET_H
983b3370cSPeter Oberparleiter 
109d92a7e1SCornelia Huck #include <asm/schid.h>
1183b3370cSPeter Oberparleiter 
1283b3370cSPeter Oberparleiter struct idset;
1383b3370cSPeter Oberparleiter 
1483b3370cSPeter Oberparleiter void idset_free(struct idset *set);
1583b3370cSPeter Oberparleiter void idset_fill(struct idset *set);
1683b3370cSPeter Oberparleiter 
1783b3370cSPeter Oberparleiter struct idset *idset_sch_new(void);
1883b3370cSPeter Oberparleiter void idset_sch_add(struct idset *set, struct subchannel_id id);
1983b3370cSPeter Oberparleiter void idset_sch_del(struct idset *set, struct subchannel_id id);
20cec85466SSebastian Ott void idset_sch_del_subseq(struct idset *set, struct subchannel_id schid);
2183b3370cSPeter Oberparleiter int idset_sch_contains(struct idset *set, struct subchannel_id id);
2225530553SSebastian Ott int idset_is_empty(struct idset *set);
23703e5c99SSebastian Ott void idset_add_set(struct idset *to, struct idset *from);
2483b3370cSPeter Oberparleiter 
2583b3370cSPeter Oberparleiter #endif /* S390_IDSET_H */
26