...

Source file src/github.com/tklauser/go-sysconf/sysconf_generic.go

Documentation: github.com/tklauser/go-sysconf

     1  // Copyright 2021 Tobias Klauser. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  //go:build darwin || dragonfly || freebsd || linux || netbsd || openbsd
     6  // +build darwin dragonfly freebsd linux netbsd openbsd
     7  
     8  package sysconf
     9  
    10  import "os"
    11  
    12  func sysconfGeneric(name int) (int64, error) {
    13  	// POSIX default values
    14  	if sc, err := sysconfPOSIX(name); err == nil {
    15  		return sc, nil
    16  	}
    17  
    18  	switch name {
    19  	case SC_BC_BASE_MAX:
    20  		return _BC_BASE_MAX, nil
    21  	case SC_BC_DIM_MAX:
    22  		return _BC_DIM_MAX, nil
    23  	case SC_BC_SCALE_MAX:
    24  		return _BC_SCALE_MAX, nil
    25  	case SC_BC_STRING_MAX:
    26  		return _BC_STRING_MAX, nil
    27  	case SC_COLL_WEIGHTS_MAX:
    28  		return _COLL_WEIGHTS_MAX, nil
    29  	case SC_EXPR_NEST_MAX:
    30  		return _EXPR_NEST_MAX, nil
    31  	case SC_HOST_NAME_MAX:
    32  		return _HOST_NAME_MAX, nil
    33  	case SC_LINE_MAX:
    34  		return _LINE_MAX, nil
    35  	case SC_LOGIN_NAME_MAX:
    36  		return _LOGIN_NAME_MAX, nil
    37  	case SC_PAGESIZE: // same as SC_PAGE_SIZE
    38  		return int64(os.Getpagesize()), nil
    39  	case SC_RE_DUP_MAX:
    40  		return _RE_DUP_MAX, nil
    41  	case SC_SYMLOOP_MAX:
    42  		return _SYMLOOP_MAX, nil
    43  	}
    44  
    45  	return -1, errInvalid
    46  }
    47  

View as plain text