ooni-probe-cli/internal/engine/libooniffi/ooniffi.c
Simone Basso d57c78bc71
chore: merge probe-engine into probe-cli (#201)
This is how I did it:

1. `git clone https://github.com/ooni/probe-engine internal/engine`

2. ```
(cd internal/engine && git describe --tags)
v0.23.0
```

3. `nvim go.mod` (merging `go.mod` with `internal/engine/go.mod`

4. `rm -rf internal/.git internal/engine/go.{mod,sum}`

5. `git add internal/engine`

6. `find . -type f -name \*.go -exec sed -i 's@/ooni/probe-engine@/ooni/probe-cli/v3/internal/engine@g' {} \;`

7. `go build ./...` (passes)

8. `go test -race ./...` (temporary failure on RiseupVPN)

9. `go mod tidy`

10. this commit message

Once this piece of work is done, we can build a new version of `ooniprobe` that
is using `internal/engine` directly. We need to do more work to ensure all the
other functionality in `probe-engine` (e.g. making mobile packages) are still WAI.

Part of https://github.com/ooni/probe/issues/1335
2021-02-02 12:05:47 +01:00

18 lines
686 B
C

#include "ooniffi.h"
#include "_cgo_export.h"
ooniffi_task_t *ooniffi_task_start(const char *settings) {
/* Implementation note: Go does not have the concept of const but
we know that the code is just making a copy of settings. */
return ooniffi_task_start_((char *)settings);
}
const char *ooniffi_event_serialization(ooniffi_event_t *event) {
/* Implementation note: Go does not have the concept of const but
we want to return const to very clearly communicate that the
returned string is owned by the event. This is what tools like
python's ctypes and SWIG expect from us. */
return (const char *)ooniffi_event_serialization_(event);
}