import requests
import lxml.html as lh
import pandas as pd
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('arch', type=str, help='Arch [arm, x86]')
args = parser.parse_args()
url='https://chromium.googlesource.com/chromiumos/docs/+/master/constants/syscalls.md'
page = requests.get(url)
doc = lh.fromstring(page.content)
tr_elements = doc.xpath('//tr')
start = 0
for i, tr in enumerate(tr_elements):
if tr[0].text_content() == "syscall name":
start = i + 1
data = []
for tr in tr_elements[start:]:
table_col = 2
if args.arch == "x86":
table_col = 4
if tr[table_col].text_content() != "-":
data.append([tr[0].text_content(), int(tr[table_col].text_content())])
data.sort(key=lambda x: x[1])
for i in data:
print("SYS_{0} = {1},".format(i[0].upper(), i[1]))