PRStatus DisplayPSMUIDialog(PCMT_CONTROL control, void *arg)
PRStatus DisplayPSMUIDialog(PCMT_CONTROL control, const char *pickledStatus, const char *hostName)
PRStatus DisplayPSMUIDialog(PCMT_CONTROL control, void *arg){    CMUint32 advRID = 0;    CMInt32 width = 0;    CMInt32 height = 0;    CMTItem urlItem = {0, NULL, 0};    CMTStatus rv = CMTSuccess;    CMTItem advisorContext = {0, NULL, 0};    void * pwin;    CMTSecurityAdvisorData data;    memset(&data, '\0', sizeof(CMTSecurityAdvisorData));    /* Create a Security Advisor context object. */    rv = CMT_SecurityAdvisor(control, &data, &advRID);    if (rv != CMTSuccess)        return PR_FAILURE;    /* Get the URL, width, height, etc. from the advisor context. */    rv = CMT_GetStringAttribute(control,                                 advRID,                                 SSM_FID_SECADVISOR_URL,                                &urlItem);    if ((rv != CMTSuccess) || (!urlItem.data))        return PR_FAILURE;    rv = CMT_GetNumericAttribute(control,                                  advRID,                                  SSM_FID_SECADVISOR_WIDTH,                                 &width);    if (rv != CMTSuccess)        return PR_FAILURE;    rv = CMT_GetNumericAttribute(control,                                  advRID,                                  SSM_FID_SECADVISOR_HEIGHT,                                 &height);    if (rv != CMTSuccess)        return PR_FAILURE;    /* Fire the URL up in a window of its own. */    pwin = CartmanUIHandler(advRID, arg, width, height, (char*)urlItem.data, NULL);    return PR_SUCCESS;}