if(!npp) return NPERR_INVALID_INSTANCE_ERROR;  nsIPluginInstance *inst = (nsIPluginInstance *) npp->ndata;  NS_ASSERTION(inst != NULL, "null instance"); NS_ASSERTION(gServiceMgr != NULL, "null service manager");  if (inst == NULL) return NPERR_INVALID_INSTANCE_ERROR;  if(gServiceMgr == nsnull) return NPERR_GENERIC_ERROR;  nsIPluginStreamListener* listener = nsnull; if(target == nsnull) ((ns4xPluginInstance*)inst)->NewNotifyStream(&listener, notifyData);  nsIPluginManager * pm; gServiceMgr->GetService(kPluginManagerCID, kIPluginManagerIID, (nsISupports**)&pm);  if(pm->PostURL(inst, relativeURL, len, buf, file, target, listener) != NS_OK) return NPERR_GENERIC_ERROR;  NS_RELEASE(pm);  return NPERR_NO_ERROR;
return MakeNew4xStreamInternal (npp, relativeURL, target, eNPPStreamTypeInternal_Post, PR_TRUE, notifyData, len, buf, file);
_posturlnotify(NPP npp, const char *relativeURL, const char *target,               uint32 len, const char *buf, NPBool file, void *notifyData){  NPN_PLUGIN_LOG(PLUGIN_LOG_NORMAL,  ("NPN_PostURLNotify: npp=%p, target=%s, len=%d, file=%d, notify=%p, url=%s, buf=%s\n",  (void*)npp, target, len, file, notifyData, relativeURL, buf));  if(!npp)    return NPERR_INVALID_INSTANCE_ERROR;  nsIPluginInstance *inst = (nsIPluginInstance *) npp->ndata;  NS_ASSERTION(inst != NULL, "null instance");  NS_ASSERTION(gServiceMgr != NULL, "null service manager");  if (inst == NULL)    return NPERR_INVALID_INSTANCE_ERROR;  if(gServiceMgr == nsnull)    return NPERR_GENERIC_ERROR;  nsIPluginStreamListener* listener = nsnull;  if(target == nsnull)    ((ns4xPluginInstance*)inst)->NewNotifyStream(&listener, notifyData);  nsIPluginManager * pm;  gServiceMgr->GetService(kPluginManagerCID, kIPluginManagerIID, (nsISupports**)&pm);  if(pm->PostURL(inst, relativeURL, len, buf, file, target, listener) != NS_OK)    return NPERR_GENERIC_ERROR;  NS_RELEASE(pm);  return NPERR_NO_ERROR;}