def pack_unsigned_int(number, size, le):
  if not isinstance(number, int):
    raise StructError("argument for i,I,l,L,q,Q,h,H must be integer")
  if number < 0:
    raise TypeError("can't convert negative long to unsigned")
  if number > (1 << (8 * size)) - 1:
    raise OverflowError("Number:%i too large to convert" % number)
  return pack_int(number, size, le)