int gld_register(dev_info_t *dip, char *name, gld_mac_info_t *macinfo);
可通过设备驱动程序的 attach(9E) 例程调用 gld_register()。gld_register() 将基于 GLDv2 的设备驱动程序与 GLDv2 框架相链接。在调用 gld_register() 之前,设备驱动程序的 attach(9E) 例程使用 gld_mac_alloc() 来分配 gld_mac_info(9S) 结构,然后初始化若干结构元素。有关更多信息,请参见 gld_mac_info(9S)。成功调用 gld_register() 可执行以下操作:
链接特定于设备的驱动程序与 GLDv2 系统
使用 ddi_set_driver_private(9F) 设置特定于设备的驱动程序的专用数据指针以指向 macinfo 结构
创建从设备节点
返回 DDI_SUCCESS
传递给 gld_register() 的设备接口名称必须与存在于文件系统中的驱动程序模块的名称完全匹配。
如果 gld_register() 成功执行,则驱动程序的 attach(9E) 例程应该返回 DDI_SUCCESS。如果 gld_register() 没有返回 DDI_SUCCESS,则 attach(9E) 例程应该在调用 gld_register() 之前解除分配所有已分配的资源,然后返回 DDI_FAILURE。