Lines Matching refs:pde
372 struct ProcDirEntry *pde = NULL;
375 pde = ProcCreateDir(parent, name, NULL, mode);
377 pde = ProcCreateFile(parent, name, NULL, mode);
379 return pde;
483 struct ProcDirEntry *pde = CreateProcEntry(name, mode, parent);
484 if (pde != NULL) {
486 pde->procFileOps = procFileOps;
489 pde->data = param->data;
490 pde->dataType = param->dataType;
493 return pde;
559 static int ProcRead(struct ProcDirEntry *pde, char *buf, size_t len)
561 if (pde == NULL || pde->pf == NULL) {
564 struct ProcFile *procFile = pde->pf;
569 if (pde->procFileOps->read(sb, pde->data) != 0) {
619 int ReadProcFile(struct ProcDirEntry *pde, void *buf, size_t len)
623 if (pde == NULL) {
626 if (S_ISREG(pde->mode)) {
627 if ((pde->procFileOps != NULL) && (pde->procFileOps->read != NULL)) {
628 result = ProcRead(pde, (char *)buf, len);
630 } else if (S_ISDIR(pde->mode)) {
631 result = GetNextDir(pde, buf, len);
636 int WriteProcFile(struct ProcDirEntry *pde, const void *buf, size_t len)
640 if (pde == NULL) {
644 if (S_ISDIR(pde->mode)) {
649 if ((pde->procFileOps != NULL) && (pde->procFileOps->write != NULL)) {
650 result = pde->procFileOps->write(pde->pf, (const char *)buf, len, &(pde->pf->fPos));
656 loff_t LseekProcFile(struct ProcDirEntry *pde, loff_t offset, int whence)
658 if (pde == NULL || pde->pf == NULL) {
662 struct ProcFile *procFile = pde->pf;
686 int LseekDirProcFile(struct ProcDirEntry *pde, off_t *pos, int whence)
692 pde->pdirCurrent = pde->subdir;
693 pde->pf->fPos = 0;
697 int CloseProcFile(struct ProcDirEntry *pde)
701 if (pde == NULL) {
704 pde->pf->fPos = 0;
705 atomic_set(&pde->count, 1);
706 if (S_ISDIR(pde->mode)) {
707 pde->pdirCurrent = pde->subdir;
710 if ((pde->procFileOps != NULL) && (pde->procFileOps->release != NULL)) {
711 result = pde->procFileOps->release((struct Vnode *)pde, pde->pf);
713 LosBufRelease(pde->pf->sbuf);
714 pde->pf->sbuf = NULL;
716 if (pde->parent == NULL) {
717 FreeProcEntry(pde);