On 28.01.2021 13:06, Oleksandr wrote:
> 
> On 28.01.21 12:52, Jan Beulich wrote:
> 
> Hi Jan
> 
>> On 25.01.2021 20:08, Oleksandr Tyshchenko wrote:
>>> --- /dev/null
>>> +++ b/xen/include/xen/dm.h
>>> @@ -0,0 +1,41 @@
>>> +/*
>>> + * Copyright (c) 2016 Citrix Systems Inc.
>>> + *
>>> + * This program is free software; you can redistribute it and/or modify it
>>> + * under the terms and conditions of the GNU General Public License,
>>> + * version 2, as published by the Free Software Foundation.
>>> + *
>>> + * This program is distributed in the hope it will be useful, but WITHOUT
>>> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>>> + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License 
>>> for
>>> + * more details.
>>> + *
>>> + * You should have received a copy of the GNU General Public License along 
>>> with
>>> + * this program; If not, see <http://www.gnu.org/licenses/>.
>>> + */
>>> +
>>> +#ifndef __XEN_DM_H__
>>> +#define __XEN_DM_H__
>>> +
>>> +#include <xen/sched.h>
>>> +
>>> +struct dmop_args {
>>> +    domid_t domid;
>>> +    unsigned int nr_bufs;
>>> +    /* Reserve enough buf elements for all current hypercalls. */
>>> +    struct xen_dm_op_buf buf[2];
>> So this is then the patch where the public header needs including,
>> to satisfy this use of a struct declared there independent of what
>> xen/sched.h includes. In fact public/xen.h needs including here
>> as well, I think, for domid_t. Otoh I can't see why you include
>> xen/sched.h.
> 
> Yes, xen/sched.h indeed doesn't need to be included here, I mentioned 
> that we could just replace
> 
> it by xen/types.h (this is the minimum what we need here I think). As I 
> understand public/xen.h is already included by public/hvm/dm_op.h...

But that's something you better wouldn't depend on anywhere.
What one public header does or does not include may change over
time.

Jan

Reply via email to