comparison src/syscalls.cc @ 4294:755f6509bb01

[project @ 2003-01-11 04:01:53 by jwe]
author jwe
date Sat, 11 Jan 2003 04:02:04 +0000
parents df5f2e433a11
children c29c382a5b4b
comparison
equal deleted inserted replaced
4293:977f977fb2c3 4294:755f6509bb01
99 @end deftypefn") 99 @end deftypefn")
100 { 100 {
101 octave_value_list retval; 101 octave_value_list retval;
102 102
103 retval(1) = std::string (); 103 retval(1) = std::string ();
104 retval(0) = -1.0; 104 retval(0) = -1;
105 105
106 int nargin = args.length (); 106 int nargin = args.length ();
107 107
108 if (nargin == 2) 108 if (nargin == 2)
109 { 109 {
160 @end deftypefn") 160 @end deftypefn")
161 { 161 {
162 octave_value_list retval; 162 octave_value_list retval;
163 163
164 retval(1) = std::string (); 164 retval(1) = std::string ();
165 retval(0) = -1.0; 165 retval(0) = -1;
166 166
167 int nargin = args.length (); 167 int nargin = args.length ();
168 168
169 if (nargin == 1 || nargin == 2) 169 if (nargin == 1 || nargin == 2)
170 { 170 {
273 @end deftypefn") 273 @end deftypefn")
274 { 274 {
275 octave_value_list retval; 275 octave_value_list retval;
276 276
277 retval(1) = std::string (); 277 retval(1) = std::string ();
278 retval(0) = -1.0; 278 retval(0) = -1;
279 279
280 int nargin = args.length (); 280 int nargin = args.length ();
281 281
282 if (nargin == 3) 282 if (nargin == 3)
283 { 283 {
339 @end deftypefn") 339 @end deftypefn")
340 { 340 {
341 octave_value_list retval; 341 octave_value_list retval;
342 342
343 retval(1) = std::string (); 343 retval(1) = std::string ();
344 retval(0) = -1.0; 344 retval(0) = -1;
345 345
346 int nargin = args.length (); 346 int nargin = args.length ();
347 347
348 if (nargin == 0) 348 if (nargin == 0)
349 { 349 {
367 @end deftypefn") 367 @end deftypefn")
368 { 368 {
369 octave_value_list retval; 369 octave_value_list retval;
370 370
371 retval(1) = std::string (); 371 retval(1) = std::string ();
372 retval(0) = -1.0; 372 retval(0) = -1;
373 373
374 int nargin = args.length (); 374 int nargin = args.length ();
375 375
376 if (nargin == 0) 376 if (nargin == 0)
377 { 377 {
488 488
489 if (nargin == 0) 489 if (nargin == 0)
490 retval = octave_syscalls::getuid (); 490 retval = octave_syscalls::getuid ();
491 else 491 else
492 print_usage ("getuid"); 492 print_usage ("getuid");
493
494 return retval;
495 }
496
497 DEFUN (kill, args, ,
498 "-*- textinfo -*-\n\
499 @deftypefn {Built-in Function} {[@var{err}, @var{msg}] =} kill (@var{pid}, @var{sig})\n\
500 Send signal @var{sig} to process @var{pid}.\n\
501 \n\
502 If @var{pid} is positive, then signal @var{sig} is sent to @var{pid}.\n\
503 \n\
504 If @var{pid} is 0, then signal @var{sig} is sent to every process\n\
505 in the process group of the current process.\n\
506 \n\
507 If @var{pid} is -1, then signal @var{sig} is sent to every process\n\
508 except process 1.\n\
509 \n\
510 If @var{pid} is less than -1, then signal @var{sig} is sent to every\n\
511 process in the process group @var{-pid}.\n\
512 \n\
513 If @var{sig} is 0, then no signal is sent, but error checing is still\n\
514 performed.\n\
515 \n\
516 Return 0 if sucessful, otherwise return -1.\n\
517 @end deftypefn")
518 {
519 octave_value_list retval;
520
521 retval(1) = std::string ();
522 retval(0) = -1;
523
524 if (args.length () == 2)
525 {
526 pid_t pid = args(0).int_value (true);
527
528 if (! error_state)
529 {
530 int sig = args(1).int_value (true);
531
532 if (! error_state)
533 {
534 std::string msg;
535
536 int status = octave_syscalls::kill (pid, sig, msg);
537
538 retval(1) = msg;
539 retval(0) = status;
540 }
541 }
542 }
543 else
544 print_usage ("kill");
493 545
494 return retval; 546 return retval;
495 } 547 }
496 548
497 DEFUN (lstat, args, , 549 DEFUN (lstat, args, ,
511 file_stat fs (fname, false); 563 file_stat fs (fname, false);
512 564
513 if (fs) 565 if (fs)
514 { 566 {
515 retval(2) = std::string (); 567 retval(2) = std::string ();
516 retval(1) = 0.0; 568 retval(1) = 0;
517 retval(0) = mk_stat_map (fs); 569 retval(0) = mk_stat_map (fs);
518 } 570 }
519 else 571 else
520 { 572 {
521 retval(2) = fs.error (); 573 retval(2) = fs.error ();
522 retval(1) = -1.0; 574 retval(1) = -1;
523 retval(0) = Matrix (); 575 retval(0) = Matrix ();
524 } 576 }
525 } 577 }
526 } 578 }
527 else 579 else
543 @end deftypefn") 595 @end deftypefn")
544 { 596 {
545 octave_value_list retval; 597 octave_value_list retval;
546 598
547 retval(1) = std::string (); 599 retval(1) = std::string ();
548 retval(0) = -1.0; 600 retval(0) = -1;
549 601
550 int nargin = args.length (); 602 int nargin = args.length ();
551 603
552 if (nargin == 2) 604 if (nargin == 2)
553 { 605 {
597 @end deftypefn") 649 @end deftypefn")
598 { 650 {
599 octave_value_list retval; 651 octave_value_list retval;
600 652
601 retval(2) = std::string (); 653 retval(2) = std::string ();
602 retval(1) = -1.0; 654 retval(1) = -1;
603 retval(0) = Matrix (); 655 retval(0) = Matrix ();
604 656
605 int nargin = args.length (); 657 int nargin = args.length ();
606 658
607 if (nargin == 0) 659 if (nargin == 0)
736 file_stat fs (fname); 788 file_stat fs (fname);
737 789
738 if (fs) 790 if (fs)
739 { 791 {
740 retval(2) = std::string (); 792 retval(2) = std::string ();
741 retval(1) = 0.0; 793 retval(1) = 0;
742 retval(0) = octave_value (mk_stat_map (fs)); 794 retval(0) = octave_value (mk_stat_map (fs));
743 } 795 }
744 else 796 else
745 { 797 {
746 retval(2) = fs.error (); 798 retval(2) = fs.error ();
747 retval(1) = -1.0; 799 retval(1) = -1;
748 retval(0) = Matrix (); 800 retval(0) = Matrix ();
749 } 801 }
750 } 802 }
751 } 803 }
752 else 804 else
766 @end deftypefn") 818 @end deftypefn")
767 { 819 {
768 octave_value_list retval; 820 octave_value_list retval;
769 821
770 retval(1) = std::string (); 822 retval(1) = std::string ();
771 retval(0) = -1.0; 823 retval(0) = -1;
772 824
773 int nargin = args.length (); 825 int nargin = args.length ();
774 826
775 if (nargin == 1) 827 if (nargin == 1)
776 { 828 {
836 @end deftypefn") 888 @end deftypefn")
837 { 889 {
838 octave_value_list retval; 890 octave_value_list retval;
839 891
840 retval(1) = std::string (); 892 retval(1) = std::string ();
841 retval(0) = -1.0; 893 retval(0) = -1;
842 894
843 int nargin = args.length (); 895 int nargin = args.length ();
844 896
845 if (nargin == 1 || nargin == 2) 897 if (nargin == 1 || nargin == 2)
846 { 898 {