33 lines
831 B
Python
33 lines
831 B
Python
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])) |