Lines Matching refs:hdl

53 fmd_agent_errno(fmd_agent_hdl_t *hdl)  in fmd_agent_errno()  argument
55 return (hdl->agent_errno); in fmd_agent_errno()
59 fmd_agent_seterrno(fmd_agent_hdl_t *hdl, int err) in fmd_agent_seterrno() argument
61 hdl->agent_errno = err; in fmd_agent_seterrno()
72 fmd_agent_errmsg(fmd_agent_hdl_t *hdl) in fmd_agent_errmsg() argument
74 return (fmd_agent_strerr(hdl->agent_errno)); in fmd_agent_errmsg()
78 cleanup_set_errno(fmd_agent_hdl_t *hdl, nvlist_t *innvl, nvlist_t *outnvl, in cleanup_set_errno() argument
83 return (fmd_agent_seterrno(hdl, err)); in cleanup_set_errno()
91 fmd_agent_nvl_ioctl(fmd_agent_hdl_t *hdl, int cmd, uint32_t ver, in fmd_agent_nvl_ioctl() argument
132 if (ioctl(hdl->agent_devfd, cmd, &fid) < 0) { in fmd_agent_nvl_ioctl()
165 fmd_agent_hdl_t *hdl; in fmd_agent_open_dev() local
172 if ((hdl = umem_alloc(sizeof (fmd_agent_hdl_t), in fmd_agent_open_dev()
180 hdl->agent_devfd = fd; in fmd_agent_open_dev()
181 hdl->agent_version = ver; in fmd_agent_open_dev()
186 if ((err = fmd_agent_nvl_ioctl(hdl, FM_IOC_VERSIONS, ver, NULL, &nvl)) in fmd_agent_open_dev()
189 umem_free(hdl, sizeof (fmd_agent_hdl_t)); in fmd_agent_open_dev()
194 hdl->agent_ioc_versions = nvl; in fmd_agent_open_dev()
195 return (hdl); in fmd_agent_open_dev()
209 fmd_agent_close(fmd_agent_hdl_t *hdl) in fmd_agent_close() argument
211 (void) close(hdl->agent_devfd); in fmd_agent_close()
212 nvlist_free(hdl->agent_ioc_versions); in fmd_agent_close()
213 umem_free(hdl, sizeof (fmd_agent_hdl_t)); in fmd_agent_close()
220 fmd_agent_version(fmd_agent_hdl_t *hdl, const char *op, uint32_t *verp) in fmd_agent_version() argument
224 err = nvlist_lookup_uint32(hdl->agent_ioc_versions, in fmd_agent_version()
235 fmd_agent_pageop_v1(fmd_agent_hdl_t *hdl, int cmd, nvlist_t *fmri) in fmd_agent_pageop_v1() argument
242 (err = fmd_agent_nvl_ioctl(hdl, cmd, 1, nvl, NULL)) != 0) in fmd_agent_pageop_v1()
243 return (cleanup_set_errno(hdl, nvl, NULL, err)); in fmd_agent_pageop_v1()
250 fmd_agent_pageop(fmd_agent_hdl_t *hdl, int cmd, nvlist_t *fmri) in fmd_agent_pageop() argument
254 if (fmd_agent_version(hdl, FM_PAGE_OP_VERSION, &ver) == -1) in fmd_agent_pageop()
255 return (fmd_agent_seterrno(hdl, errno)); in fmd_agent_pageop()
259 return (fmd_agent_pageop_v1(hdl, cmd, fmri)); in fmd_agent_pageop()
262 return (fmd_agent_seterrno(hdl, ENOTSUP)); in fmd_agent_pageop()
267 fmd_agent_page_retire(fmd_agent_hdl_t *hdl, nvlist_t *fmri) in fmd_agent_page_retire() argument
269 int rc = fmd_agent_pageop(hdl, FM_IOC_PAGE_RETIRE, fmri); in fmd_agent_page_retire()
270 int err = fmd_agent_errno(hdl); in fmd_agent_page_retire()
282 (void) fmd_agent_seterrno(hdl, 0); in fmd_agent_page_retire()
292 fmd_agent_page_unretire(fmd_agent_hdl_t *hdl, nvlist_t *fmri) in fmd_agent_page_unretire() argument
294 int rc = fmd_agent_pageop(hdl, FM_IOC_PAGE_UNRETIRE, fmri); in fmd_agent_page_unretire()
295 int err = fmd_agent_errno(hdl); in fmd_agent_page_unretire()
307 (void) fmd_agent_seterrno(hdl, 0); in fmd_agent_page_unretire()
315 fmd_agent_page_isretired(fmd_agent_hdl_t *hdl, nvlist_t *fmri) in fmd_agent_page_isretired() argument
317 int rc = fmd_agent_pageop(hdl, FM_IOC_PAGE_STATUS, fmri); in fmd_agent_page_isretired()
318 int err = fmd_agent_errno(hdl); in fmd_agent_page_isretired()
330 (void) fmd_agent_seterrno(hdl, 0); in fmd_agent_page_isretired()
340 fmd_agent_cache_info_free(fmd_agent_hdl_t *hdl __unused, in fmd_agent_cache_info_free()
406 fmd_agent_cache_info(fmd_agent_hdl_t *hdl, fmd_agent_cpu_cache_list_t *cache) in fmd_agent_cache_info() argument
413 if ((err = fmd_agent_nvl_ioctl(hdl, FM_IOC_CACHE_INFO, 1, NULL, in fmd_agent_cache_info()
415 ret = fmd_agent_seterrno(hdl, err); in fmd_agent_cache_info()
421 ret = fmd_agent_seterrno(hdl, err); in fmd_agent_cache_info()
428 ret = fmd_agent_seterrno(hdl, errno); in fmd_agent_cache_info()
434 ret = fmd_agent_seterrno(hdl, errno); in fmd_agent_cache_info()
441 fmd_agent_cache_info_free(hdl, cache); in fmd_agent_cache_info()