summaryrefslogtreecommitdiff
path: root/sys/man/2
AgeCommit message (Collapse)Author
2023-05-18libaml: tow eisaid inside the environmentmia soweli
2023-05-03mouse(2): not quite a typo (thanks Alex Musolino)Jacob Moody
commit a04fd342727c329584a9f443092caf21e3884bdf incorrectly changed the reference to eenter in event(2). The function in event(2) is in fact eenter, it does stutter.
2023-04-30mouse(2): fix typosIgor Böhm
2023-04-10crop(1), memdraw(2): writememimage doesn't always write compressed imagesrodri
2023-04-08libc: Add poolreset() functioncinap_lenrek
This is intended for the secrmem pool in the kernel, but could also be used for temporary pools to recover the memory used by the arenas.
2023-03-26runecomp(2): clarify audience and historyJacob Moody
2023-03-26runecomp(2)Jacob Moody
2023-02-25geometry(2): corrections and improvementsrodri
The dot and inner products are not the same, and neither are cross and outer ones. Trimmed function signatures—similar to those in draw(2)—were added to aid in comprehension.
2023-01-29libgeometry revamprodri
2023-01-07authsrv(2): document readcons() functioncinap_lenrek
2022-12-25pushtls(2): client certificates got implemented in 2012cinap_lenrek
2022-10-06rsa(2): fix X509reqtoRSApub(…) signatureIgor Böhm
2022-07-30bind, mount: stop returning mount idOri Bernstein
The mount ID is a sequence number in a 32 bit integer, which means that it can't be unique. This is largely harmless, because there is no way to use the mount id, beyond checking if it's negative. However, there's no overflow check, so the mount ID can wrap negative, which will break error checks on mount calls. Because it's useless, let's just stop returning it.
2022-07-25sysproc: raise limit on #! lines, and allow quoted argsOri Bernstein
Our #! line length is very short, and the naïve quoting makes it difficult to pass more complicated arguments to the programs being run. This is fine for simple interpreters, but it's often useful to pass arguments to more complicated interpreters like auth/box or awk. This change raises the limit, but also switches to tokenizing via tokenize(2), rather than hand rolled whitespace splitting. The limits chosen are arbitrary, but they leave approximately 3 KiB of stack space on 386, and 13k on amd64. This is a lot of stack used, but it should leave enough for fairly deep devtab chan stacks.
2022-05-15fork(2): fix commas in RFNOMNT referencesJacob Moody
2022-05-15fork(2): fix parens in RFNOMNT references (thanks Amavect)Jacob Moody
2022-05-12fork(2): Document RFNOMNT edge cases.Jacob Moody
2022-04-199pqueue(2): fix typorodri
2022-02-21nusb: Fix handling of interface altsetting.cinap_lenrek
The altsetting was handled only for a single endpoint (per interface number), but has to be handled for each endpoint (per interface *AND* altsetting number). A multi function device (like a disk) can have multiple interfaces, all with the same interface number but varying altsetting numbers and each of these interfaces would list distict endpoint configurations. Multiple interfaces can even share some endpoints (they use the same endpoint addresses), but we still have to duplicate them for each interface+altsetting number (as they'r part of actually distict interfaces with distict endpoint configurations). It is also important to *NOT* make endpoints bi-directional (dir == Eboth) when only one direction is used in a interface/altsetting and the other direction in another. This was the case for nusb/disk with some seagate drive where endpoints where shared between the UAS and usb storage class interface (but with distict altsettings). The duplicate endpoints (as in using the same endpoint address) are chained together by a next pointer and the head is stored in Usbdev.ep[addr], where addr is the endpoint address. These Ep structures will have distinct endpoint numbers Ep.id (when they have conflicting types), but all will share the endpoint address (lower 4 bits of the endpoint number). The consequence is that all of the endpoints configuration (attributes, interval) is now stored in the Ep struct and no more Altc struct is present. A pointer to the Ep struct has to be passed to openep() for it to configure the endpoint. For the Iface struct, we will now create multiple of them: one for each interface *AND* altsetting nunber, chained together on a next pointer and the head being stored in conf->iface[ifaceid]. -- cinap
2021-12-31remove pushssl(2)cinap_lenrek
2021-11-01mainly just spelling and typosStuart Morrow
2021-11-03libndb: move mkptrname() into libndb to avoid duplicationcinap_lenrek
2021-10-24ndb/dns: implement caa record type in ndbcinap_lenrek
this allows the caa records to be specified in ndb as: caa=<value> tag=<tag> flags=<flags> where tag defaults to "issue" and flags to 0 when omited.
2021-10-16fork(2): document new error behaviour when out of resourcescinap_lenrek
2021-10-10addpt(2): fix inconsistency in descriptionqwx
2021-09-08fix manpage references for dup(2), kproc(9) and panic(9).cinap_lenrek
2021-09-08ndb(2): document txt and txtrr attributes.cinap_lenrek
2021-08-24man page fixes (thanks stuart morrow)qwx
2021-08-059p(2): fix a typo (thanks humm)Sigrid Solveig Haflínudóttir
2021-07-25dial(2): dial returns an open data file, not a ctl one. also fixed little typo.rodri
2021-07-25libc: use usize for sbrk() incrementcinap_lenrek
2021-07-25libc: change usize to 64-bit for amd64 and arm64, make memory(2) functions ↵cinap_lenrek
use usize
2021-07-23arm64: use generic timer virtual counter for cycles()cinap_lenrek
We used to use performance cycle counter for cycles(), but it is kind of useless in userspace as each core has its own counter and hence not comparable between cores. Also, the cycle counter stops counting when the cores are idle. Most callers expect cycles() to return a high resolution timestamp instead, so do the best we can do here and enable the userspace generic timer virtual counter.
2021-07-20brk(2): .... we define lowest addres not used by the program above, so use ↵cinap_lenrek
that instead
2021-07-20brk(2): sbrk(0) returns end address, not the basecinap_lenrek
sbrk(0) returns the current end address of the BSS segment, not the base. This might have been confused with the behaviour of segbrk(), which when given a zero address returns the base.
2021-07-14graphics(2): fix typokvik
2021-07-12strcat(2): 0 → nil in manpage in refrence to pointersJacob Moody
2021-07-04libsec: add X509reqtoRSApub() function and return subject alt names in ↵cinap_lenrek
X509to*pub() name buffer We need a way to parse a rsa certificate request and return the public key and subject names. The new function X509reqtoRSApub() works the same way as X509toRSApub() but on a certificate request. We also need to support certificates that are valid for multiple domain names (as tlshand does not support certificate selection). For this reason, a comma separated list is returned as the certificate subject, making it symmetric to X509rsareq() handling. A little helper is provided with this change (auth/x5092pub) that takes a certificate (or a certificate request when -r flag is provided) and outputs the RSA public key in plan 9 format appended with the subject attribute.
2021-07-03libc: add encode(2) variants for custom alphabetsOri Bernstein
There are a number of alphabets in common use for base32 and base64 encoding, such as url-safe encodings. This adds support for passing a function to encode into arbitary alphabets.
2021-06-23tmdate(2): "ttt" is a valid format too, mention itSigrid Solveig Haflínudóttir
2021-06-12lib9p: add auth* functions to man pageJacob Moody
2021-05-179pfid(2): document Srv* in Req (thanks kjn)Ori Bernstein
This struct member is available for any user of the library, and is not part of our internal API. It should be documented.
2021-05-15memory(2): mention tsmemcmp (thanks kemal)cinap_lenrek
2021-05-01lib9p: remove Srv.srvfd, make postsrv() and threadpostsrv() return the ↵cinap_lenrek
mountable file descriptor, update documentation Now that we have these new functions, we can also make them return an error instead of calling sysfatal() like postmountsrv(). Remove the confusing Srv.srvfd, as it is only temporarily used and return it from postsrv() instead.
2021-05-01lib9p: expose Srv.forker handler and srvforker(), threadsrvforker() and ↵cinap_lenrek
threadsrv() functions To use srvrease()/srvaquire() we need to have a way to spawn new processes to handle the service loop. This functionality was provided by the internal _forker() function which was eigther rfork or libthread based implementation depending on if postmountsrv() or threadpostmountsrv() where called. For servers who want to use srv() directly, _forker would not be initialized so srvrelease() could not be used. To untangle this, we get rid of the global _forker handler and put the handler in the Srv structure. Which will get initialized (when nil) to eigther srvforker() or threadsrvforker() depending on if the thread or non-thread entry points where used. For symmetry, we provde new threadsrv() and threadpostsrv() functions which handle the default initialization of Srv.forker. This also allows a user to provide his own forker function, maybe to conserve stack space. To avoid dead code, we put each of these function in their own object file. Note, this also allows a user to define its own srvforker() symbol.
2021-04-27opl3(1), exec(2): fix manpage typos (thanks umbraticus)qwx
2021-04-08minor man page typosRomano
2021-02-19libstdio: sync bits of vfprintf from APEkvik
* Add the %ll length modifier, * Convert nil to "<nil>" under %s (not in APE), * Cast void* to uintptr under %p, * Use "0x" hex prefix under %p, * Fix manual page mentions of %P to %p, * Fix empty result for fp conversions, * Fix zero padding of left-aligned fp conversions, * Remove deprecated #pragma ref uses. Most of these were introduced in APE prior to 9front. I've omitted the %z conversion specifier since Plan 9 code rarely uses the usize type. This may need to be added later for the benefit of native ports of alien code.
2021-02-18nan(2): document isInf(x, 0) matching +∞ and -∞kvik
2021-01-16tmdate(2): correct example in manpageOri Bernstein
add missing tmdate() call around %τ format.