On Tue, 2021-10-19 at 13:55 -0400, Li Qiang wrote:
> Take cxl_cmd_new_identify as example.
> There is CXL_EXPORT prefix, it seems can be called outside ndctl tool.

Yes it can be linked to like any other library.

> While the intput and outpust struct cxl_memdev and cxl_cmd are private.
> 
> ```
> 
> CXL_EXPORT struct cxl_cmd *cxl_cmd_new_identify(struct cxl_memdev *memdev)
> {
>       return cxl_cmd_new_generic(memdev, CXL_MEM_COMMAND_ID_IDENTIFY);
> }
> 
> ```

Right - the intention is that those structs always remain private.
Instead we provide accessor APIs to get fields out of the different
command structures. e.g. for 'identify' we have
cxl_cmd_identify_get_fw_rev, and so on. If there are other fields that
lack these getter APIs, we can definitely add them. e.g. The
health_info command has an exhaustive set of getter APIs.

> 
> 
> Thanks
> Johnny
> 
> 

Reply via email to