+ def getParameters(self):
+ options = {}
+ for parameter, value in dhcp_options.iteritems():
+ option_type = DhcpOptionsTypes[DhcpOptions[parameter]]
+
+ if option_type == "ipv4" :
+ # this is a single ip address
+ options[parameter] = map(int,value.split("."))
+ elif option_type == "ipv4+" :
+ # this is multiple ip address
+ iplist = value.split(",")
+ opt = []
+ for single in iplist :
+ opt.append(ipv4(single).list())
+ options[parameter] = opt
+ elif option_type == "32-bits" :
+ # This is probably a number...
+ digit = int(value)
+ options[parameter] = [digit>>24&0xFF,(digit>>16)&0xFF,(digit>>8)&0xFF,digit&0xFF]
+ elif option_type == "16-bits" :
+ digit = int(value)
+ options[parameter] = [(digit>>8)&0xFF,digit&0xFF]
+
+ elif option_type == "char" :
+ digit = int(value)
+ options[parameter] = [digit&0xFF]
+
+ elif option_type == "bool" :
+ if value=="False" or value=="false" or value==0 :
+ options[parameter] = [0]
+ else : options[parameter] = [1]
+
+ elif option_type == "string" :
+ options[parameter] = strlist(value).list()
+
+ else :
+ options[parameter] = strlist(value).list()
+ return options