Buscar pacotes, repositórios e categorias de apps

Repositório GitHubonepub-dev/dart_posix

dart_posix

onepub-dev/dart_posix open-source repository details.

Capa do projeto dart_posix
Estrelas
14
Forks
6
Último push (UTC)
24 de jul. de 2026
Status do projeto
Ativo

README original

Texto original em inglês. Visite o GitHub para a versão atual.

Provides Dart access to the POSIX api for MacOS and Linux system.


import 'package:posix/posix.dart';

int uid = getuid();

Contributing

Dart types only

The api should only expose dart types. Any C types MUST be translated to dart types before being returned.

setters and getters

One of the first questsion is to whether we should use Dart's settings and getters:

e.g.


// getuid
int uid = getuid;

or

int uid = getuid();


/// setuid

uid = myuid;

or 

setuid = uid;

or

setuid(uid);

My initial thoughts is to make the api identical to the posix api which would mean that we don't use Dart setters and getters.

error returns

Do we return error no.s or do we throw.

As Dart is a modern language it uses Exception whereas posix returns error codes.

Often posix will return null and then expect you to make a separate call to 'errorno' to get the actual error no.

I'm inclined to bring the api that we expose into the modern world.

So I'm proposing that if an posix api returns an error that we throw a PosixException with a message and error code.

Adding additional functions

The process of adding additional functions is:

  1. Install ffigen
dart pub global activate ffigen
  1. Run the ffigen setup.

The paths may be different on your system. Search for clang-c/Index.h

sudo apt-get install libclang-dev
dart pub run ffigen:setup -I/usr/lib/llvm-11/include -L/usr/lib/llvm-11/lib
  1. find the required posix header file

  2. use ffigen to create the initial dart file from the header.

    • add your header file to ffigen.yaml
  3. Run ffigen

dart pub run ffigen  --config ffigen/linux.yaml 
  1. convert each method to take/return dart types.
OnePub GitHub avatar
Autor no GitHub

OnePub ↗

LinguagensDartShell

Pacotes publicados por este repositório

Dependências usadas

Lista de dependências 11 itens

  • ffi^2.0.1
  • meta^1.7.0
  • path^1.8.3
  • cli_scriptDesenvolvimento^1.0.0
  • ffigenDesenvolvimento^18.1.0
  • lint_hardDesenvolvimento^6.0.0
  • loggerDesenvolvimento^2.5.0
  • loggingDesenvolvimento^1.1.1
  • stack_traceDesenvolvimento^1.11.0
  • testDesenvolvimento^1.16.2
  • uuidDesenvolvimento^4.5.1

Como escolher um repositório para seu projeto?

Filtre pelo caso de uso, compare a atividade e confira o projeto original antes de adotá-lo.

  1. Busque por nome, autor ou descrição e filtre por tema.
  2. Compare estrelas, forks e envios recentes. Estrelas indicam interesse, mas não garantem qualidade.
  3. Confira o README, a licença e as issues no GitHub antes de usar o projeto.

Fontes e manutenção

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗