gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

func.go (4231B)


      1 package asm
      2 
      3 //go:generate stringer -output func_string.go -type=BuiltinFunc
      4 
      5 // BuiltinFunc is a built-in eBPF function.
      6 type BuiltinFunc int32
      7 
      8 func (_ BuiltinFunc) Max() BuiltinFunc {
      9 	return maxBuiltinFunc - 1
     10 }
     11 
     12 // eBPF built-in functions
     13 //
     14 // You can regenerate this list using the following gawk script:
     15 //
     16 //    /FN\(.+\),/ {
     17 //      match($1, /\((.+)\)/, r)
     18 //      split(r[1], p, "_")
     19 //      printf "Fn"
     20 //      for (i in p) {
     21 //        printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2)
     22 //      }
     23 //      print ""
     24 //    }
     25 //
     26 // The script expects include/uapi/linux/bpf.h as it's input.
     27 const (
     28 	FnUnspec BuiltinFunc = iota
     29 	FnMapLookupElem
     30 	FnMapUpdateElem
     31 	FnMapDeleteElem
     32 	FnProbeRead
     33 	FnKtimeGetNs
     34 	FnTracePrintk
     35 	FnGetPrandomU32
     36 	FnGetSmpProcessorId
     37 	FnSkbStoreBytes
     38 	FnL3CsumReplace
     39 	FnL4CsumReplace
     40 	FnTailCall
     41 	FnCloneRedirect
     42 	FnGetCurrentPidTgid
     43 	FnGetCurrentUidGid
     44 	FnGetCurrentComm
     45 	FnGetCgroupClassid
     46 	FnSkbVlanPush
     47 	FnSkbVlanPop
     48 	FnSkbGetTunnelKey
     49 	FnSkbSetTunnelKey
     50 	FnPerfEventRead
     51 	FnRedirect
     52 	FnGetRouteRealm
     53 	FnPerfEventOutput
     54 	FnSkbLoadBytes
     55 	FnGetStackid
     56 	FnCsumDiff
     57 	FnSkbGetTunnelOpt
     58 	FnSkbSetTunnelOpt
     59 	FnSkbChangeProto
     60 	FnSkbChangeType
     61 	FnSkbUnderCgroup
     62 	FnGetHashRecalc
     63 	FnGetCurrentTask
     64 	FnProbeWriteUser
     65 	FnCurrentTaskUnderCgroup
     66 	FnSkbChangeTail
     67 	FnSkbPullData
     68 	FnCsumUpdate
     69 	FnSetHashInvalid
     70 	FnGetNumaNodeId
     71 	FnSkbChangeHead
     72 	FnXdpAdjustHead
     73 	FnProbeReadStr
     74 	FnGetSocketCookie
     75 	FnGetSocketUid
     76 	FnSetHash
     77 	FnSetsockopt
     78 	FnSkbAdjustRoom
     79 	FnRedirectMap
     80 	FnSkRedirectMap
     81 	FnSockMapUpdate
     82 	FnXdpAdjustMeta
     83 	FnPerfEventReadValue
     84 	FnPerfProgReadValue
     85 	FnGetsockopt
     86 	FnOverrideReturn
     87 	FnSockOpsCbFlagsSet
     88 	FnMsgRedirectMap
     89 	FnMsgApplyBytes
     90 	FnMsgCorkBytes
     91 	FnMsgPullData
     92 	FnBind
     93 	FnXdpAdjustTail
     94 	FnSkbGetXfrmState
     95 	FnGetStack
     96 	FnSkbLoadBytesRelative
     97 	FnFibLookup
     98 	FnSockHashUpdate
     99 	FnMsgRedirectHash
    100 	FnSkRedirectHash
    101 	FnLwtPushEncap
    102 	FnLwtSeg6StoreBytes
    103 	FnLwtSeg6AdjustSrh
    104 	FnLwtSeg6Action
    105 	FnRcRepeat
    106 	FnRcKeydown
    107 	FnSkbCgroupId
    108 	FnGetCurrentCgroupId
    109 	FnGetLocalStorage
    110 	FnSkSelectReuseport
    111 	FnSkbAncestorCgroupId
    112 	FnSkLookupTcp
    113 	FnSkLookupUdp
    114 	FnSkRelease
    115 	FnMapPushElem
    116 	FnMapPopElem
    117 	FnMapPeekElem
    118 	FnMsgPushData
    119 	FnMsgPopData
    120 	FnRcPointerRel
    121 	FnSpinLock
    122 	FnSpinUnlock
    123 	FnSkFullsock
    124 	FnTcpSock
    125 	FnSkbEcnSetCe
    126 	FnGetListenerSock
    127 	FnSkcLookupTcp
    128 	FnTcpCheckSyncookie
    129 	FnSysctlGetName
    130 	FnSysctlGetCurrentValue
    131 	FnSysctlGetNewValue
    132 	FnSysctlSetNewValue
    133 	FnStrtol
    134 	FnStrtoul
    135 	FnSkStorageGet
    136 	FnSkStorageDelete
    137 	FnSendSignal
    138 	FnTcpGenSyncookie
    139 	FnSkbOutput
    140 	FnProbeReadUser
    141 	FnProbeReadKernel
    142 	FnProbeReadUserStr
    143 	FnProbeReadKernelStr
    144 	FnTcpSendAck
    145 	FnSendSignalThread
    146 	FnJiffies64
    147 	FnReadBranchRecords
    148 	FnGetNsCurrentPidTgid
    149 	FnXdpOutput
    150 	FnGetNetnsCookie
    151 	FnGetCurrentAncestorCgroupId
    152 	FnSkAssign
    153 	FnKtimeGetBootNs
    154 	FnSeqPrintf
    155 	FnSeqWrite
    156 	FnSkCgroupId
    157 	FnSkAncestorCgroupId
    158 	FnRingbufOutput
    159 	FnRingbufReserve
    160 	FnRingbufSubmit
    161 	FnRingbufDiscard
    162 	FnRingbufQuery
    163 	FnCsumLevel
    164 	FnSkcToTcp6Sock
    165 	FnSkcToTcpSock
    166 	FnSkcToTcpTimewaitSock
    167 	FnSkcToTcpRequestSock
    168 	FnSkcToUdp6Sock
    169 	FnGetTaskStack
    170 	FnLoadHdrOpt
    171 	FnStoreHdrOpt
    172 	FnReserveHdrOpt
    173 	FnInodeStorageGet
    174 	FnInodeStorageDelete
    175 	FnDPath
    176 	FnCopyFromUser
    177 	FnSnprintfBtf
    178 	FnSeqPrintfBtf
    179 	FnSkbCgroupClassid
    180 	FnRedirectNeigh
    181 	FnPerCpuPtr
    182 	FnThisCpuPtr
    183 	FnRedirectPeer
    184 	FnTaskStorageGet
    185 	FnTaskStorageDelete
    186 	FnGetCurrentTaskBtf
    187 	FnBprmOptsSet
    188 	FnKtimeGetCoarseNs
    189 	FnImaInodeHash
    190 	FnSockFromFile
    191 	FnCheckMtu
    192 	FnForEachMapElem
    193 	FnSnprintf
    194 	FnSysBpf
    195 	FnBtfFindByNameKind
    196 	FnSysClose
    197 	FnTimerInit
    198 	FnTimerSetCallback
    199 	FnTimerStart
    200 	FnTimerCancel
    201 	FnGetFuncIp
    202 	FnGetAttachCookie
    203 	FnTaskPtRegs
    204 	FnGetBranchSnapshot
    205 	FnTraceVprintk
    206 	FnSkcToUnixSock
    207 	FnKallsymsLookupName
    208 	FnFindVma
    209 	FnLoop
    210 	FnStrncmp
    211 	FnGetFuncArg
    212 	FnGetFuncRet
    213 	FnGetFuncArgCnt
    214 	FnGetRetval
    215 	FnSetRetval
    216 	FnXdpGetBuffLen
    217 	FnXdpLoadBytes
    218 	FnXdpStoreBytes
    219 	FnCopyFromUserTask
    220 	FnSkbSetTstamp
    221 	FnImaFileHash
    222 	FnKptrXchg
    223 	FnMapLookupPercpuElem
    224 	FnSkcToMptcpSock
    225 	FnDynptrFromMem
    226 	FnRingbufReserveDynptr
    227 	FnRingbufSubmitDynptr
    228 	FnRingbufDiscardDynptr
    229 	FnDynptrRead
    230 	FnDynptrWrite
    231 	FnDynptrData
    232 
    233 	maxBuiltinFunc
    234 )
    235 
    236 // Call emits a function call.
    237 func (fn BuiltinFunc) Call() Instruction {
    238 	return Instruction{
    239 		OpCode:   OpCode(JumpClass).SetJumpOp(Call),
    240 		Constant: int64(fn),
    241 	}
    242 }