summaryrefslogtreecommitdiff
path: root/sys/include
AgeCommit message (Collapse)Author
2014-06-09pool: declare pooldump in pool.h. the manual says it is public.mischief
2014-05-03thread.h: varargck argpos for threadsetnameftrvxmtrx
2014-05-03bio.h: add varargck argpos pragma for Berrorftrvxmtrx
2014-02-15factotum/authsrv: fix padding for mschap on amd64, use constants for ↵cinap_lenrek
structure sizes
2014-02-06pool: use uintptr for pool sizecinap_lenrek
note, arenas and blocks still use ulong for sizes. so we have to check for overflow when attempting to merge arenas.
2014-01-20malloc: change malloc and realloc tag types to uintptrcinap_lenrek
2013-12-28ape: move strdup() from libbsd to libap (from sources)cinap_lenrek
including <string.h> should be enougth to make strdup() available.
2013-12-09draw: fix drawing of replicated source image on memlayer with a clip rectanglecinap_lenrek
when a replicated source image with a clipr with clipr.min > Pt(0, 0), drawclip() would properly translate the src->clipr on the dstr but then clamp the source rectangle back on src->r. while traversing down multiple layers, this would cause the translation to be applied multiple times to the dst rectangle giving the wrong image result. this change adds a new drawclipnorepl() function that avoids the clamping of source and mask rectangles to src->r and mask->r. this is then used in libmemlayer. the final memimagedraw() call will call drawclip() which will do the final claming. a testcase is provided: #include <u.h> #include <libc.h> #include <draw.h> Image *blue; Image *red; void main(int, char *argv[]) { Image *i; if(initdraw(nil, nil, argv[0]) < 0) sysfatal("initdraw: %r"); i = allocimage(display, screen->r, screen->chan, 1, DWhite); red = allocimage(display, Rect(0,0,1,1), screen->chan, 1, DRed); blue = allocimage(display, Rect(0,0,1,1), screen->chan, 1, DPaleblue); replclipr(red, 1, Rect(10, 10, 110, 110)); replclipr(blue, 1, Rect(11, 11, 111, 111)); /* draw on non-layer, works correctly */ draw(i, i->r, red, nil, ZP); draw(i, i->r, blue, nil, ZP); draw(screen, screen->r, i, nil, i->r.min); flushimage(display, 1); /* draw on (screen) layer is too far to the right */ draw(screen, screen->r, red, nil, ZP); draw(screen, screen->r, blue, nil, ZP); flushimage(display, 1); for(;;){ sleep(1000); } }
2013-11-12libmemdraw: change memimageinit() to return integer error (for kernel), ↵cinap_lenrek
minor cleanups
2013-10-27make libjson from /sys/src/cmd/btc/json.cBurnZeZ
2013-10-17change Rune from ushort to uint for to 21 bit runes (thanks mischief!)cinap_lenrek
big big change. requires rebuilding 8c first and then rebuild everything.
2013-09-26reverting semaphore lock changes from sources (r41ccd6d221da, rb28756e5ba29)cinap_lenrek
semaphore locks have much higher overhead than initially presented in the "Semaphores in Plan9" paper. until the reason for it has been found out i will revert the changes.
2013-09-21ape: change tas/sleep locks to cas/semacquire/semrelease locks (from sources)cinap_lenrek
2013-09-21libc: change tas/sleep locks to cas/semacquire/semrelease locks (from sources)cinap_lenrek
spinlocks have been changed to use the new semacquire/semrelease syscalls in combination with atomic compare and swap operations.
2013-09-07libaml: amldelay(), _OSI(), fix bug in Load() (from plhk's acpi patch)cinap_lenrek
export amldelay() for microsecond sleeps. implement _OSI() method. fix rwreg argument in evalload()
2013-09-06libaml: new io interface, add amlnew()/amltake()/amldrop(), late binding ↵cinap_lenrek
names, FindSetLeftBit/FindSetRightBit new io interface was added. user defines amlmapio() and amlunmapio() functions that will fill out Amlio structure with function pointers to read/write routines for a particular region. amlnew() function added allowing the creation of aml objects like buffers or packages. these can be passed to amleval() with b, p or * format. amltake()/amldrop() exclude an aml object from garbage collection. on load, names are not always resolvable until the whole table is loaded. for this, we create n objects that are just name strings. after load, we recursively traverse the namespace and resolve them (see fixnames()). the FindSetLeftBit and FindSetRightBit opcodes got implemened.
2013-09-05libhtml: fix potential linked list corruptioncinap_lenrek
the difficulty is freeing items while parsing because items might already be linked into various linked lists like in docinfo.images or form.fiels. so we link images, tables and formfields to the docinfo as the final step of getitems() pass using the new recursive function linkitems(). as only reachable items get linked theres no danger of dangeling pointers.
2013-08-04rio: add ^B control sequence to move cursor to output pointcinap_lenrek
2013-06-16draw: add badrect() function to reject zero, negative size or orverly huge ↵cinap_lenrek
rectangles not checking the rectangle dimensions causes integer overflows and memory corruption. adding a new badrect() function that checks for these cases.
2013-05-11ape: change types from unsigned long to void* for rendezvous() and ↵cinap_lenrek
segattach()/segbrk() (erik), use uniqueue rendezvous tags for _buf and listen
2013-05-04bio: use UTFmax for Bungetsize and fix libmach to include <libc.h> before ↵cinap_lenrek
<bio.h> (from sources)
2013-04-24make all the commands agnostic about Rune width. (from sources)cinap_lenrek
2013-04-01ape: add inet_aton()cinap_lenrek
2013-03-31python: update python build configuration to new ape capabilities like ↵cinap_lenrek
getaddrinfo(), ipv6 and fix EISCON typo in ape
2013-03-31ape: initial IPv6 support, inet_pton()/inet_ntop(), getaddrinfo()/getnameinfo()cinap_lenrek
2013-03-31ape: define FD_SETSIZE for select()cinap_lenrek
2013-03-11ape: threadsafe errnocinap_lenrek
store errno on the private process stack so its always per process and not just per memory space. errno itself becomes a macro dereferencing int *_errnoloc; which is initialized from main9.s pointing to the private stack location. various fixes in programs that just imported errno variable with "extern int errno;" instead of including <errno.h>.
2013-02-28ape: add PASS_MAX constant for getpass() to limits.h (from patch/ape-pass_max)cinap_lenrek
add PASS_MAX to limits.h for ape, and make getpass respect it. also increase the size of the maximum passwords (we use long ones at work). Needed for native port of SVN (in progress).
2013-02-10mp.h: fix typoftrvxmtrx
2013-01-30lib9p: defer closing down srv until the last request has been responded, ↵cinap_lenrek
Tversion message size in multithreaded programs, we have to wait until all outstanding requests have been responded before closing down the srv. dont make write errors sysfatal(), only print them. in case if listensrv() is used we dont want to exit the process in respond() called by some worker thread. make sure Tversion is only handled when there are no outstanding requests and make sure message size is sane.
2012-12-31fix utf and rune handling in preparation for 32bit runescinap_lenrek
2012-12-25bio: remove useless Breadn() as it does the same as Bread()cinap_lenrek
Bread() always reads exactly nbytes of data if it can. only when it reaches end of file or an error it will return less. so the Breadn() function that was introduced has been removed. sorry for the confusion.
2012-12-03ape: fix putenv()cinap_lenrek
writing /env in putenv() doesnt work. exec will create new enviroment anyway. we have to modify environ array!
2012-09-09Add alignment hints for e512 ATA drives.google
2012-09-01isodate in libc? revert every commit for great justice!cinap_lenrek
2012-09-02Add prototypes for isotime and isodate. This should have been in the ↵google
previous commit.
2012-08-02libmach: add arm64 constants (import from sources)cinap_lenrek
2012-08-02format check for octal fmt strings (import from sources)cinap_lenrek
2012-08-02libauth: fix authrpc buffer overflow (import from sources)cinap_lenrek
2012-07-29add tsemacquire syscall for gocinap_lenrek
2012-06-17experimental acpi support for apic irq routingcinap_lenrek
2012-06-06added ecdsa to factotumaiju
2012-06-04added elliptic curve stuff and RIPEMD-160aiju
2012-03-30lib9p: add Srv.startcinap_lenrek
2012-03-23ndb/cs: fix use after free caused by flush/clunk happening before dns lookup ↵cinap_lenrek
finishes
2011-10-31libdraw: added enter() and eenter() functionscinap_lenrek
2011-10-06libbio: add Breadncinap_lenrek
2011-08-22libthread: reimplemented i/o procs using new interrupt ctl messagecinap_lenrek
2011-08-20added interrupt proc ctl messageaiju
2011-08-19lib9p reqqueue: more cleaningaiju