# cfunction statement

The cfunction statement provides access
to C libraries from BASIC.

## Syntax

```
cfunction name{,name...}
```
Three libraries are defined:

| gm.builtin | Provided as part of D3. |
| --- | --- |
| unix.builtin | Provided as part of D3. |
| user.builtin | Provided for user-written C routines. |
If only the C programs defined in the common.builtin libraries
are used, the cfunction statement is optional.
If user-defined or third party C programs are used, the cfunction
user.builtin statement is required.

The user.builtin
table is maintained with the TCL addbi command.

## Example(s)

```
cfunction unix.builtin
cfunction user.builtin, gm.builtin
```

## See also

- [%alarm() function](https://d3codex.com/pickbasic-flashbasic/percent-alarm-function/)
- [%chdir() function](https://d3codex.com/pickbasic-flashbasic/percent-chdir-function/)
- [%chmod() function](https://d3codex.com/pickbasic-flashbasic/percent-chmod-function/)
- [%chown() function](https://d3codex.com/pickbasic-flashbasic/percent-chown-function/)
- [%close() function](https://d3codex.com/pickbasic-flashbasic/percent-close-function/)
- [%connect() function](https://d3codex.com/pickbasic-flashbasic/percent-connect-function/)
- [%creat() function](https://d3codex.com/pickbasic-flashbasic/percent-creat-function/)
- [%dup() function](https://d3codex.com/pickbasic-flashbasic/percent-dup-function/)
- [%fclose() function](https://d3codex.com/pickbasic-flashbasic/percent-fclose-function/)
- [%fdopen() function](https://d3codex.com/pickbasic-flashbasic/percent-fdopen-function/)
- [%fgetc() function](https://d3codex.com/pickbasic-flashbasic/percent-fgetc-function/)
- [%fgets() function](https://d3codex.com/pickbasic-flashbasic/percent-fgets-function/)
- [%fopen() function](https://d3codex.com/pickbasic-flashbasic/percent-fopen-function/)
- [%fprintf() function](https://d3codex.com/pickbasic-flashbasic/percent-fprintf-function/)
- [%fputc() function](https://d3codex.com/pickbasic-flashbasic/percent-fputc-function/)
- [%fputs() function](https://d3codex.com/pickbasic-flashbasic/percent-fputs-function/)
- [%free() function](https://d3codex.com/pickbasic-flashbasic/percent-free-function/)
- [%freopen() function](https://d3codex.com/pickbasic-flashbasic/percent-freopen-function/)
- [%fsize() function](https://d3codex.com/pickbasic-flashbasic/percent-fsize-function/)
- [%getenv() function](https://d3codex.com/pickbasic-flashbasic/percent-getenv-function/)
- [%gethostid() function](https://d3codex.com/pickbasic-flashbasic/percent-gethostid-function/)
- [%getpgrp() function](https://d3codex.com/pickbasic-flashbasic/percent-getpgrp-function/)
- [%getpid() function](https://d3codex.com/pickbasic-flashbasic/percent-getpid-function/)
- [%getppid() function](https://d3codex.com/pickbasic-flashbasic/percent-getppid-function/)
- [%ioctl() function](https://d3codex.com/pickbasic-flashbasic/percent-ioctl-function/)
- [%kill() function](https://d3codex.com/pickbasic-flashbasic/percent-kill-function/)
- [%listen() function](https://d3codex.com/pickbasic-flashbasic/percent-listen-function/)
- [%lseek() function](https://d3codex.com/pickbasic-flashbasic/percent-lseek-function/)
- [%malloc() function](https://d3codex.com/pickbasic-flashbasic/percent-malloc-function/)
- [%memcopy() function](https://d3codex.com/pickbasic-flashbasic/percent-memcopy-function/)
- [%memcpy() function](https://d3codex.com/pickbasic-flashbasic/percent-memcpy-function/)
- [%memxcpy() function](https://d3codex.com/pickbasic-flashbasic/percent-memxcpy-function/)
- [%open() function](https://d3codex.com/pickbasic-flashbasic/percent-open-function/)
- [%pause() function](https://d3codex.com/pickbasic-flashbasic/percent-pause-function/)
- [%pclose() function](https://d3codex.com/pickbasic-flashbasic/percent-pclose-function/)
- [%pgetpid() function](https://d3codex.com/pickbasic-flashbasic/percent-pgetpid-function/)
- [%popen() function](https://d3codex.com/pickbasic-flashbasic/percent-popen-function/)
- [%putenv() function](https://d3codex.com/pickbasic-flashbasic/percent-putenv-function/)
- [%rdhex() function](https://d3codex.com/pickbasic-flashbasic/percent-rdhex-function/)
- [%read() function](https://d3codex.com/pickbasic-flashbasic/percent-read-function/)
- [%semctl() function](https://d3codex.com/pickbasic-flashbasic/percent-semctl-function/)
- [%semget() function](https://d3codex.com/pickbasic-flashbasic/percent-semget-function/)
- [%setflush() function](https://d3codex.com/pickbasic-flashbasic/percent-setflush-function/)
- [%shmat() function](https://d3codex.com/pickbasic-flashbasic/percent-shmat-function/)
- [%shmdt() function](https://d3codex.com/pickbasic-flashbasic/percent-shmdt-function/)
- [%shmget() function](https://d3codex.com/pickbasic-flashbasic/percent-shmget-function/)
- [%socket() function](https://d3codex.com/pickbasic-flashbasic/percent-socket-function/)
- [%wait() function](https://d3codex.com/pickbasic-flashbasic/percent-wait-function/)
- [%whex() function](https://d3codex.com/pickbasic-flashbasic/percent-whex-function/)
- [%write() function](https://d3codex.com/pickbasic-flashbasic/percent-write-function/)
- [addbi command](https://d3codex.com/tcl/addbi-command/)
- [FlashBASIC C functions overview](https://d3codex.com/pickbasic-flashbasic/flashbasic-c-functions-overview/)
- [Creating user-defined C functions (D3 UNIX)](https://d3codex.com/pickbasic-flashbasic/creating-user-defined-c-functions-d3-unix/)
- [execute statement (UNIX)](https://d3codex.com/pickbasic-flashbasic/execute-statement-unix/)
- [Statements and functions](https://d3codex.com/pickbasic-flashbasic/statements-and-functions/)

---
Source: https://d3codex.com/pickbasic-flashbasic/cfunction-statement/ - part of the D3Codex reference.
