#!/usr/bin/env perl# Copyright 2009 The Go Authors. All rights reserved.# Use of this source code is governed by a BSD-style# license that can be found in the LICENSE file.## Generate system call table for OpenBSD from master list# (for example, /usr/src/sys/kern/syscalls.master).usestrict;if($ENV{'GOARCH'}eq""||$ENV{'GOOS'}eq""){printSTDERR"GOARCH or GOOS not defined in environment\n";exit1;}my$command="mksysnum_openbsd.pl ".join(' ',@ARGV);print<<EOF;// $command// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT// +build $ENV{'GOARCH'},$ENV{'GOOS'}package unixconst (EOFwhile(<>){if(/^([0-9]+)\s+STD\s+(NOLOCK\s+)?({ \S+\s+\*?(\w+).*)$/){my$num=$1;my$proto=$3;my$name=$4;$name=~y/a-z/A-Z/;# There are multiple entries for enosys and nosys, so comment them out.if($name=~ /^SYS_E?NOSYS$/){$name="// $name";}if($nameeq'SYS_SYS_EXIT'){$name='SYS_EXIT';}print" $name = $num; // $proto\n";}}print<<EOF;)EOF