This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- FlexNet Publisher
- :
- FlexNet Publisher Knowledge Base
- :
- Sample code for Multiple vendor defined hostids
Subscribe
- Mark as New
- Mark as Read
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
Sample code for Multiple vendor defined hostids
Sample code for Multiple vendor defined hostids
The attached sample code suffice the requirement to activate multiple vendor defined hostid.
In example code, two VDH (VDH and VDH1) are defined.We can use any of these to node lock the license server.
/**************************************************************************************************
* Copyright (c) 1997-2016, 2018 Flexera. All Rights Reserved.
**************************************************************************************************/
/*
* Description: Example Vendor-defined hostid implementation for
* FlexNet Licensing
*
* Parameters: (misc)
*
* Return: (misc)
*
* M. Christiano
* 11/14/2000 wh/tw
*
* x_flexlm_newid -- call this function just after lc_init()
* from your application, and also in your
* license generator (e.g., lmcrypt.c), and
* your vendor daemon. To do this in the vendor
* daemon, add the following to lsvendor.c:
*
* void x_flexlm_newid();
* void (*ls_user_init1)() = x_flexlm_newid;
*
*
* All programs that call this function MUST
* have a variable (LM_HANDLE *) lm_job that points
* to the current job. If your job handle is not
* called lm_job, make one that points to it.
*/
#include "lmclient.h"
#include "lm_attr.h"
#include "string.h"
extern LM_HANDLE *lm_job; /* This must be the current job! */
/* This example returns only 1 hostid */
#define VENDEF_ID_TYPE HOSTID_VENDOR+1
#define VENDEF_ID_LABEL "VDH"
#define VENDEF_ID "12345678"
#define VENDEF_ID_TYPE1 HOSTID_VENDOR+2
#define VENDEF_ID_LABEL1 "VDH1"
#define VENDEF_ID1 "87654321"
/*
* x_flexlm_gethostid() - Callback to get the vendor-defined hostid.
* (Sorry about all the windows types for this function...)
*/
HOSTID *
#ifdef PC
LM_CALLBACK_TYPE
#endif /* PC */
/*
* IMPORTANT NOTE: This function MUST call l_new_hostid() for
* a hostid struct on each call.
* If more than one hostid of a type is
* found, then call l_new_hostid for each
* and make into a list using the `next' field.
*/
x_flexlm_gethostid(idtype)
short idtype;
{
HOSTID *h = l_new_hostid();
memset(h, 0, sizeof(HOSTID));
if (idtype == VENDEF_ID_TYPE)
{
h->type = VENDEF_ID_TYPE;
strncpy(h->id.vendor, VENDEF_ID, MAX_HOSTID_LEN); /* LONGNAMES */
h->id.vendor[MAX_HOSTID_LEN] = 0;
return(h);
}
else if (idtype == VENDEF_ID_TYPE1)
{
h->type = VENDEF_ID_TYPE1;
strncpy(h->id.vendor, VENDEF_ID1, MAX_HOSTID_LEN); /* LONGNAMES */
h->id.vendor[MAX_HOSTID_LEN] = 0;
return(h);
}
return((HOSTID *) NULL);
}
void
x_flexlm_newid(id)
HOSTID *id;
{
LM_VENDOR_HOSTID h;
LM_VENDOR_HOSTID h1;
memset(&h, 0, sizeof (h));
h.label = VENDEF_ID_LABEL;
h.hostid_num = VENDEF_ID_TYPE;
h.case_sensitive = 0;
h.get_vendor_id = x_flexlm_gethostid;
if (lc_set_attr(lm_job, LM_A_VENDOR_ID_DECLARE, (LM_A_VAL_TYPE)&h))
lc_perror(lm_job, "LM_A_VENDOR_ID_DECLARE FAILED");
memset(&h1, 0, sizeof (h1));
h1.label = VENDEF_ID_LABEL1;
h1.hostid_num = VENDEF_ID_TYPE1;
h1.case_sensitive = 0;
h1.get_vendor_id = x_flexlm_gethostid;
if (lc_set_attr(lm_job, LM_A_VENDOR_ID_DECLARE, (LM_A_VAL_TYPE) &h1))
lc_perror(lm_job, "LM_A_VENDOR_ID_DECLARE FAILED");
}
No ratings