loader.go raw

   1  /**
   2   * Copyright 2023 ByteDance Inc.
   3   *
   4   * Licensed under the Apache License, Version 2.0 (the "License");
   5   * you may not use this file except in compliance with the License.
   6   * You may obtain a copy of the License at
   7   *
   8   *     http://www.apache.org/licenses/LICENSE-2.0
   9   *
  10   * Unless required by applicable law or agreed to in writing, software
  11   * distributed under the License is distributed on an "AS IS" BASIS,
  12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13   * See the License for the specific language governing permissions and
  14   * limitations under the License.
  15   */
  16  
  17  package loader
  18  
  19  import (
  20      `unsafe`
  21  )
  22  
  23  // Function is a function pointer
  24  type Function unsafe.Pointer
  25  
  26  // Options used to load a module
  27  type Options struct {
  28      // NoPreempt is used to disable async preemption for this module
  29      NoPreempt bool
  30  }
  31  
  32  // Loader is a helper used to load a module simply
  33  type Loader struct {
  34      Name string // module name
  35      File string // file name
  36      Options 
  37  }
  38