Skip to content

Commit 4b7f544

Browse files
Kenta Tadapcmoore
authored andcommitted
golang: add defines for PARISC / PARISC64 goloang bindings
Signed-off-by: Kenta Tada <[email protected]> Acked-by: Tom Hromatka <[email protected]> Signed-off-by: Paul Moore <[email protected]>
1 parent 276b0ea commit 4b7f544

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

seccomp.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,10 @@ const (
117117
ArchS390 ScmpArch = iota
118118
// ArchS390X represents 64-bit System z/390 syscalls
119119
ArchS390X ScmpArch = iota
120+
// ArchPARISC represents 32-bit PA-RISC
121+
ArchPARISC ScmpArch = iota
122+
// ArchPARISC64 represents 64-bit PA-RISC
123+
ArchPARISC64 ScmpArch = iota
120124
)
121125

122126
const (
@@ -223,6 +227,10 @@ func GetArchFromString(arch string) (ScmpArch, error) {
223227
return ArchS390, nil
224228
case "s390x":
225229
return ArchS390X, nil
230+
case "parisc":
231+
return ArchPARISC, nil
232+
case "parisc64":
233+
return ArchPARISC64, nil
226234
default:
227235
return ArchInvalid, fmt.Errorf("cannot convert unrecognized string %q", arch)
228236
}
@@ -263,6 +271,10 @@ func (a ScmpArch) String() string {
263271
return "s390"
264272
case ArchS390X:
265273
return "s390x"
274+
case ArchPARISC:
275+
return "parisc"
276+
case ArchPARISC64:
277+
return "parisc64"
266278
case ArchNative:
267279
return "native"
268280
case ArchInvalid:

seccomp_internal.go

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,14 @@ const uint32_t C_ARCH_BAD = ARCH_BAD;
5050
#define SCMP_ARCH_S390X ARCH_BAD
5151
#endif
5252
53+
#ifndef SCMP_ARCH_PARISC
54+
#define SCMP_ARCH_PARISC ARCH_BAD
55+
#endif
56+
57+
#ifndef SCMP_ARCH_PARISC64
58+
#define SCMP_ARCH_PARISC64 ARCH_BAD
59+
#endif
60+
5361
const uint32_t C_ARCH_NATIVE = SCMP_ARCH_NATIVE;
5462
const uint32_t C_ARCH_X86 = SCMP_ARCH_X86;
5563
const uint32_t C_ARCH_X86_64 = SCMP_ARCH_X86_64;
@@ -67,6 +75,8 @@ const uint32_t C_ARCH_PPC64 = SCMP_ARCH_PPC64;
6775
const uint32_t C_ARCH_PPC64LE = SCMP_ARCH_PPC64LE;
6876
const uint32_t C_ARCH_S390 = SCMP_ARCH_S390;
6977
const uint32_t C_ARCH_S390X = SCMP_ARCH_S390X;
78+
const uint32_t C_ARCH_PARISC = SCMP_ARCH_PARISC;
79+
const uint32_t C_ARCH_PARISC64 = SCMP_ARCH_PARISC64;
7080
7181
#ifndef SCMP_ACT_LOG
7282
#define SCMP_ACT_LOG 0x7ffc0000U
@@ -214,7 +224,7 @@ const (
214224
scmpError C.int = -1
215225
// Comparison boundaries to check for architecture validity
216226
archStart ScmpArch = ArchNative
217-
archEnd ScmpArch = ArchS390X
227+
archEnd ScmpArch = ArchPARISC64
218228
// Comparison boundaries to check for action validity
219229
actionStart ScmpAction = ActKill
220230
actionEnd ScmpAction = ActKillProcess
@@ -464,6 +474,10 @@ func archFromNative(a C.uint32_t) (ScmpArch, error) {
464474
return ArchS390, nil
465475
case C.C_ARCH_S390X:
466476
return ArchS390X, nil
477+
case C.C_ARCH_PARISC:
478+
return ArchPARISC, nil
479+
case C.C_ARCH_PARISC64:
480+
return ArchPARISC64, nil
467481
default:
468482
return 0x0, fmt.Errorf("unrecognized architecture %#x", uint32(a))
469483
}
@@ -504,6 +518,10 @@ func (a ScmpArch) toNative() C.uint32_t {
504518
return C.C_ARCH_S390
505519
case ArchS390X:
506520
return C.C_ARCH_S390X
521+
case ArchPARISC:
522+
return C.C_ARCH_PARISC
523+
case ArchPARISC64:
524+
return C.C_ARCH_PARISC64
507525
case ArchNative:
508526
return C.C_ARCH_NATIVE
509527
default:

0 commit comments

Comments
 (0)