NEW
PREFIX
AUTO 4,1
*/--------------------------------------
* # GetPWUID
* ## C
* `int getpwuid(short int uid, S.PW* passwd );`
* ## ASM
* `>PUSHW passwd`
* `lda uid`
* `>SYSCALL getpwuid`
* ## RETURN VALUE
*\--------------------------------------
K.GetPWUID		
*/--------------------------------------
* # GetPWName
* ## C
* `int getpwname(const char* name, S.PW* passwd );`
* ## ASM
* `>PUSHW passwd`
* `>LDYA name`
* `>SYSCALL getpwname`
* ## RETURN VALUE
*\--------------------------------------
K.GetPWName		jsr	MEM.SPtr1PPtr2
		 
				bra K.PutPW.1
*/--------------------------------------
* # PutPW
* ## C
* `int putpw( S.PW* passwd );`
* ## ASM
* `>LDYA passwd`
* `>SYSCALL putpw`
* ## RETURN VALUE
*\--------------------------------------
K.PutPW			>STYA ZPPtr2

K.PutPW.1		sta SETREADAUX
				sta SETWRITEAUX
				
				jsr	X.PWD
				
				sta CLRREADAUX
				sta CLRWRITEAUX
				bcs .9
				
				lda PWD.bDirty
				bne PWD.Store
.9				rts				
*--------------------------------------
PWD.Store		lda PWD.DBPtr
				sta A1L
				clc
				adc PWD.DBSize
				sta A2L

				lda PWD.DBPtr+1
				sta A1L+1
				adc PWD.DBSize+1
				sta A2L+1
				
				>LDYA PWD.DBSize
				jsr K.getmem
				bcs .9
				stx .8+1
				>STYA A4L				Save Destination Address in MAIN

				clc						Aux To Main
				jsr AuxMove				
				
				>PUSHWI 0				Aux type
				>PUSHBI S.FI.T.TXT
				>PUSHBI	O.WRONLY+O.CREATE
				>LDYAI PWD.FILE
				ldx #SYS.FOpen
				jsr K.SYSCALL2.BANK
				bcc .1
	
				pha
				jsr .8
				pla
				sec
.9				rts
				
.1				sta .7+1
				
				>PUSHW PWD.DBSize
				lda .8+1
				jsr K.getmemptr
				>PUSHYA
				lda .7+1
				ldx #SYS.FWrite
				jsr K.SYSCALL2.BANK
				bcs	.2
				
				jsr .7
				stz PWD.bDirty
				rts
				
.2				pha
				jsr .7
				pla
				sec
				rts
				
.7				lda #$ff
				ldx #SYS.fclose
				jsr K.SYSCALL2.BANK
				
.8				lda #$ff
				jsr K.freemem
				
*				clc
				rts
*--------------------------------------
PWD.bDirty		.BS 1
PWD.hDB			.BS 1
PWD.DBPtr		.BS 2
PWD.DBSize		.BS 2
PWD.FILE		.AZ "${ROOT}ETC/PASSWD"
*--------------------------------------
MAN
SAVE USR/SRC/SYS/KERNEL.S.PWD
LOAD USR/SRC/SYS/KERNEL.S
ASM
