TS_OPEN(3)
π TS_OPEN β bestie we're opening a touch screen π
okay so this is ts_open(3), and it lives in the tslib family of man pages. it's giving "small function, big responsibility" energy, and honestly? iconic. let's get into it π«Ά
β¨ NAME β¨
ts_open β open a touch screen input device
like. that's the whole job. she opens the touch screen. she's a specialist π
πΈ SYNOPSIS πΈ
#include <tslib.h>
struct tsdev *ts_open(const char *dev_name, int nonblock);
copy that exactly, bestie, don't freestyle the signature, I will find out π
π¦ DESCRIPTION π¦
so here's the tea: ts_open() allocates memory for a brand new touch screen device. yes, actual memory. she's building it from scratch, main character energy only β¨
then she opens the given input event device and links it to that new struct. so the device and the struct are now in a committed relationship. no situationships here π
a quick word on the two things you hand her:
dev_nameβ the name of the input event device you want her to open. that's the one she's linking, fr fr.nonblockβ it's anint, it's right there in the signature, and the original page does not elaborate on it. so I'm not gonna make up lore about it. respecting the source π
heads up: she allocates memory, which means you don't get to just forget about her. go look at the friends listed below when you're done, okay? π
π RETURN VALUE π
a pointer to the opened struct tsdev is returned. that's your girl. hold onto her π
π SEE ALSO π
go read ts_close(3) after this one. I'm not saying it's foreshadowing but it's foreshadowing π
mwah that's the whole page. this one came from the tslib manual set β no extra version or date deets were on the page, so I'm not inventing any, that would be so not slay of me. TS_OPEN(3), that's a wrap, periodt ππΈ
π¦ where this page comes from
- alpine 3.24: tslib-doc 1.24-r0 Β· LGPL-2.0-or-later
- arch rolling: tslib 1.24-1 Β· LGPL-2.1-only
- debian bookworm: libts0 1.22-1+b1 Β· LGPL-2.0-or-later
- debian trixie: libts0t64 1.22-1.1+b1 Β· LGPL-2.0-or-later
- epel 10: tslib 1.23-2.el10_2 Β· LGPL-2.1-only
- epel 9: tslib 1.22-5.el9 Β· LGPLv2
- fedora 43: tslib 1.23-2.fc43 Β· LGPL-2.1-only
- fedora 43: tslib 1.23-2.fc43 Β· LGPL-2.1-only
- fedora 44: tslib 1.24-2.fc44 Β· LGPL-2.1-only
- fedora 44: tslib 1.24-2.fc44 Β· LGPL-2.1-only
- nixos 26.05: tslib 1.24
- nixpkgs unstable: tslib 1.24
- opensuse-leap 16.0: tslib 1.22-160000.2.2 Β· LGPL-2.1-or-later AND GPL-2.0-only
- opensuse-leap 16.0: tslib 1.22-160000.2.2 Β· LGPL-2.1-or-later AND GPL-2.0-only
- opensuse-leap 16.0: tslib 1.22-160000.2.2 Β· LGPL-2.1-or-later AND GPL-2.0-only
- opensuse-leap 16.0: tslib 1.22-160000.2.2 Β· LGPL-2.1-or-later AND GPL-2.0-only
- ubuntu jammy: libts0 1.22-1 Β· LGPL-2.0-or-later
- ubuntu noble: libts0t64 1.22-1.1build1 Β· LGPL-2.0-or-later
- ubuntu questing: libts0t64 1.22-1.1build1
- ubuntu resolute: libts0t64 1.22-1.1build2 Β· LGPL-2.0-or-later
- ubuntu stonking: libts0t64 1.22-1.1build2 Β· LGPL-2.0-or-later
- Copyright (c) 2017, Martin Kepplinger <martink@posteo.de>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms