require '_h2ph_pre.ph';

unless(defined(&_LINUX_ATMSVC_H)) {
    eval 'sub _LINUX_ATMSVC_H () {1;}' unless defined(&_LINUX_ATMSVC_H);
    require 'linux/atmapi.ph';
    require 'linux/atm.ph';
    require 'linux/atmioc.ph';
    eval 'sub ATMSIGD_CTRL () { &_IO(ord(\'a\'), &ATMIOC_SPECIAL);}' unless defined(&ATMSIGD_CTRL);
    eval("sub as_catch_null () { 0; }") unless defined(&as_catch_null);
    eval("sub as_bind () { 1; }") unless defined(&as_bind);
    eval("sub as_connect () { 2; }") unless defined(&as_connect);
    eval("sub as_accept () { 3; }") unless defined(&as_accept);
    eval("sub as_reject () { 4; }") unless defined(&as_reject);
    eval("sub as_listen () { 5; }") unless defined(&as_listen);
    eval("sub as_okay () { 6; }") unless defined(&as_okay);
    eval("sub as_error () { 7; }") unless defined(&as_error);
    eval("sub as_indicate () { 8; }") unless defined(&as_indicate);
    eval("sub as_close () { 9; }") unless defined(&as_close);
    eval("sub as_itf_notify () { 10; }") unless defined(&as_itf_notify);
    eval("sub as_modify () { 11; }") unless defined(&as_modify);
    eval("sub as_identify () { 12; }") unless defined(&as_identify);
    eval("sub as_terminate () { 13; }") unless defined(&as_terminate);
    eval 'sub SELECT_TOP_PCR {
        local($tp) = @_;
	    eval q((($tp). &pcr ? ($tp). &pcr : ($tp). &max_pcr  && ($tp). &max_pcr !=  &ATM_MAX_PCR ? ($tp). &max_pcr : ($tp). &min_pcr ? ($tp). &min_pcr :  &ATM_MAX_PCR));
    }' unless defined(&SELECT_TOP_PCR);
}
1;
